diff options
Diffstat (limited to 'drivers/net/usb/usbnet.c')
| -rw-r--r-- | drivers/net/usb/usbnet.c | 27 | 
1 files changed, 22 insertions, 5 deletions
| diff --git a/drivers/net/usb/usbnet.c b/drivers/net/usb/usbnet.c index ecf62849f4c1..470e1c1e6353 100644 --- a/drivers/net/usb/usbnet.c +++ b/drivers/net/usb/usbnet.c @@ -74,6 +74,23 @@ MODULE_PARM_DESC (msg_level, "Override default message level");  /*-------------------------------------------------------------------------*/ +static const char * const usbnet_event_names[] = { +	[EVENT_TX_HALT]		   = "EVENT_TX_HALT", +	[EVENT_RX_HALT]		   = "EVENT_RX_HALT", +	[EVENT_RX_MEMORY]	   = "EVENT_RX_MEMORY", +	[EVENT_STS_SPLIT]	   = "EVENT_STS_SPLIT", +	[EVENT_LINK_RESET]	   = "EVENT_LINK_RESET", +	[EVENT_RX_PAUSED]	   = "EVENT_RX_PAUSED", +	[EVENT_DEV_ASLEEP]	   = "EVENT_DEV_ASLEEP", +	[EVENT_DEV_OPEN]	   = "EVENT_DEV_OPEN", +	[EVENT_DEVICE_REPORT_IDLE] = "EVENT_DEVICE_REPORT_IDLE", +	[EVENT_NO_RUNTIME_PM]	   = "EVENT_NO_RUNTIME_PM", +	[EVENT_RX_KILL]		   = "EVENT_RX_KILL", +	[EVENT_LINK_CHANGE]	   = "EVENT_LINK_CHANGE", +	[EVENT_SET_RX_MODE]	   = "EVENT_SET_RX_MODE", +	[EVENT_NO_IP_ALIGN]	   = "EVENT_NO_IP_ALIGN", +}; +  /* handles CDC Ethernet and many other network "bulk data" interfaces */  int usbnet_get_endpoints(struct usbnet *dev, struct usb_interface *intf)  { @@ -452,9 +469,9 @@ void usbnet_defer_kevent (struct usbnet *dev, int work)  {  	set_bit (work, &dev->flags);  	if (!schedule_work (&dev->kevent)) -		netdev_dbg(dev->net, "kevent %d may have been dropped\n", work); +		netdev_dbg(dev->net, "kevent %s may have been dropped\n", usbnet_event_names[work]);  	else -		netdev_dbg(dev->net, "kevent %d scheduled\n", work); +		netdev_dbg(dev->net, "kevent %s scheduled\n", usbnet_event_names[work]);  }  EXPORT_SYMBOL_GPL(usbnet_defer_kevent); @@ -1597,6 +1614,9 @@ void usbnet_disconnect (struct usb_interface *intf)  		   xdev->bus->bus_name, xdev->devpath,  		   dev->driver_info->description); +	if (dev->driver_info->unbind) +		dev->driver_info->unbind(dev, intf); +  	net = dev->net;  	unregister_netdev (net); @@ -1604,9 +1624,6 @@ void usbnet_disconnect (struct usb_interface *intf)  	usb_scuttle_anchored_urbs(&dev->deferred); -	if (dev->driver_info->unbind) -		dev->driver_info->unbind (dev, intf); -  	usb_kill_urb(dev->interrupt);  	usb_free_urb(dev->interrupt);  	kfree(dev->padding_pkt); |