summaryrefslogtreecommitdiffstats
path: root/drivers/usb/host/isp116x-hcd.c
diff options
context:
space:
mode:
authorAlan Stern <stern@rowland.harvard.edu>2006-01-19 10:46:27 -0500
committerGreg Kroah-Hartman <gregkh@suse.de>2006-03-20 14:49:58 -0800
commit6a8e87b23ff4a979bde5451a242466a4b3f9fe7d (patch)
tree3b3da90cdf42c363fbd6270c58dd21811b8e3004 /drivers/usb/host/isp116x-hcd.c
parent1393adb2ebb00a2cd54b293cd7ee71e3376f4e9f (diff)
downloadlinux-stable-6a8e87b23ff4a979bde5451a242466a4b3f9fe7d.tar.gz
linux-stable-6a8e87b23ff4a979bde5451a242466a4b3f9fe7d.tar.bz2
linux-stable-6a8e87b23ff4a979bde5451a242466a4b3f9fe7d.zip
[PATCH] USB core and HCDs: don't put_device while atomic
This patch (as640) removes several put_device and the corresponding get_device calls from the USB core and HCDs. Some of the puts were done in atomic contexts, and none of them are needed since the core now guarantees that every endpoint will be disabled and every URB completed before a USB device is released. Signed-off-by: Alan Stern <stern@rowland.harvard.edu> Acked-by: David Brownell <david-b@pacbell.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers/usb/host/isp116x-hcd.c')
-rw-r--r--drivers/usb/host/isp116x-hcd.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/drivers/usb/host/isp116x-hcd.c b/drivers/usb/host/isp116x-hcd.c
index 972ce04889f8..fea5dcbec7c4 100644
--- a/drivers/usb/host/isp116x-hcd.c
+++ b/drivers/usb/host/isp116x-hcd.c
@@ -724,7 +724,7 @@ static int isp116x_urb_enqueue(struct usb_hcd *hcd,
ep = hep->hcpriv;
else {
INIT_LIST_HEAD(&ep->schedule);
- ep->udev = usb_get_dev(udev);
+ ep->udev = udev;
ep->epnum = epnum;
ep->maxpacket = usb_maxpacket(udev, urb->pipe, is_out);
usb_settoggle(udev, epnum, is_out, 0);
@@ -891,7 +891,6 @@ static void isp116x_endpoint_disable(struct usb_hcd *hcd,
if (!list_empty(&hep->urb_list))
WARN("ep %p not empty?\n", ep);
- usb_put_dev(ep->udev);
kfree(ep);
hep->hcpriv = NULL;
}