OSDN Git Service

usbnet: remove usb_get/put_dev in .probe and .disconnect
authortom.leiming@gmail.com <tom.leiming@gmail.com>
Mon, 11 Jun 2012 15:19:39 +0000 (15:19 +0000)
committerDavid S. Miller <davem@davemloft.net>
Wed, 13 Jun 2012 01:50:23 +0000 (18:50 -0700)
usb_device is parent device of usb_interface in the view of driver
model, so its reference count is always held during .probe/.disconnect
of usb_interface instance.

This patch just removes the unnecessay usb_get/put_dev.

Signed-off-by: Ming Lei <tom.leiming@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/usb/usbnet.c

index 9f58330..022c1e7 100644 (file)
@@ -1307,7 +1307,6 @@ void usbnet_disconnect (struct usb_interface *intf)
        usb_free_urb(dev->interrupt);
 
        free_netdev(net);
-       usb_put_dev (xdev);
 }
 EXPORT_SYMBOL_GPL(usbnet_disconnect);
 
@@ -1363,8 +1362,6 @@ usbnet_probe (struct usb_interface *udev, const struct usb_device_id *prod)
        xdev = interface_to_usbdev (udev);
        interface = udev->cur_altsetting;
 
-       usb_get_dev (xdev);
-
        status = -ENOMEM;
 
        // set up our own records
@@ -1493,7 +1490,6 @@ out3:
 out1:
        free_netdev(net);
 out:
-       usb_put_dev(xdev);
        return status;
 }
 EXPORT_SYMBOL_GPL(usbnet_probe);