diff options
author | Pekka Enberg <penberg@cs.helsinki.fi> | 2008-10-27 23:29:31 +0200 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2009-01-06 13:51:44 -0800 |
commit | 4af12e55a5f5e8d0d6d9390a592daa789a181e36 (patch) | |
tree | 3d8a2e548f98c37e089ea73f79034195f05bbdd7 /drivers/staging/winbond | |
parent | c8b2b70b4334acbbc4daa445aa21b1fe6d337ac3 (diff) | |
download | lwn-4af12e55a5f5e8d0d6d9390a592daa789a181e36.tar.gz lwn-4af12e55a5f5e8d0d6d9390a592daa789a181e36.zip |
Staging: w35und: usb_put_dev() is missing from wb35_disconnect()
The wb35_probe() function does usb_get_dev() so add a missing usb_put_dev() to
the wb35_disconnect() function. Also fix error handling paths in wb35_probe()
to call usb_put_dev() as well.
Signed-off-by: Pekka Enberg <penberg@cs.helsinki.fi>
Acked-by: Pavel Machek <pavel@suse.cz>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers/staging/winbond')
-rw-r--r-- | drivers/staging/winbond/linux/wbusb.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/drivers/staging/winbond/linux/wbusb.c b/drivers/staging/winbond/linux/wbusb.c index eb115034498a..d9c3a16c4156 100644 --- a/drivers/staging/winbond/linux/wbusb.c +++ b/drivers/staging/winbond/linux/wbusb.c @@ -275,6 +275,7 @@ error_free_hw: error_free_adapter: kfree(adapter); error: + usb_put_dev(udev); return err; } @@ -308,12 +309,12 @@ void packet_came(char *pRxBufferAddress, int PacketSize) static void wb35_disconnect(struct usb_interface *intf) { - struct wb35_adapter * adapter = usb_get_intfdata(intf); - usb_set_intfdata(intf, NULL); + struct wb35_adapter *adapter = usb_get_intfdata(intf); - // Card remove WbWlanHalt(adapter); + usb_set_intfdata(intf, NULL); + usb_put_dev(interface_to_usbdev(intf)); } static struct usb_driver wb35_driver = { |