aboutsummaryrefslogtreecommitdiff
path: root/drivers/usb/gadget/dummy_hcd.c
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@g5.osdl.org>2006-08-02 20:25:35 -0700
committerLinus Torvalds <torvalds@g5.osdl.org>2006-08-02 20:25:35 -0700
commit90eb29efd0ca9301d80d03ea13662d32436f060e (patch)
tree4d019d931c99dc4b91e516ea181aabcbb36528b4 /drivers/usb/gadget/dummy_hcd.c
parent1398ab7cb92b21d8d5add3bdc25b2c00462cfd5c (diff)
parentcae74b30dd98c10baa5b47b4698bf67e5eb15687 (diff)
Merge master.kernel.org:/pub/scm/linux/kernel/git/gregkh/usb-2.6
* master.kernel.org:/pub/scm/linux/kernel/git/gregkh/usb-2.6: (24 commits) Revert "[PATCH] USB: move usb_device_class class devices to be real devices" Revert "[PATCH] USB: convert usb class devices to real devices" USB: UHCI: Don't test the Short Packet Detect bit USB: unusual_devs entry for Nokia 3250 USB: dummy-hcd: disable interrupts during req->complete USB: fix the USB_GADGET_DUMMY_HCD dependencies USB: ati_remote.c: autorepeat fix USB: doc: fixes devio.c location in proc_usb_info.txt. USB: doc: usb-help.txt update. USB: Patch for rtl8150 to fix unplug problems USB: cypress driver comment updates USB: unusual_devs device removal usb-storage: Add US_FL_IGNORE_DEVICE flag; ignore ZyXEL G220F USB: New USB ID for Belkin Serial Adapter USB: Additional PID for the ftdi_sio driver USB: adding support for SHARP WS003SH to ipaq.c USB: Fix Freescale high-speed USB host dependency USB: Removed 3-port device handler from Option driver USB: Drop Sierra Wireless MC8755 from the Option driver USB: Let option driver handle Anydata CDMA modems. Remove anydata driver. ...
Diffstat (limited to 'drivers/usb/gadget/dummy_hcd.c')
-rw-r--r--drivers/usb/gadget/dummy_hcd.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/usb/gadget/dummy_hcd.c b/drivers/usb/gadget/dummy_hcd.c
index 4be47195bd3..7d1c22c3495 100644
--- a/drivers/usb/gadget/dummy_hcd.c
+++ b/drivers/usb/gadget/dummy_hcd.c
@@ -609,7 +609,8 @@ static int dummy_dequeue (struct usb_ep *_ep, struct usb_request *_req)
if (!dum->driver)
return -ESHUTDOWN;
- spin_lock_irqsave (&dum->lock, flags);
+ local_irq_save (flags);
+ spin_lock (&dum->lock);
list_for_each_entry (req, &ep->queue, queue) {
if (&req->req == _req) {
list_del_init (&req->queue);
@@ -618,7 +619,7 @@ static int dummy_dequeue (struct usb_ep *_ep, struct usb_request *_req)
break;
}
}
- spin_unlock_irqrestore (&dum->lock, flags);
+ spin_unlock (&dum->lock);
if (retval == 0) {
dev_dbg (udc_dev(dum),
@@ -626,6 +627,7 @@ static int dummy_dequeue (struct usb_ep *_ep, struct usb_request *_req)
req, _ep->name, _req->length, _req->buf);
_req->complete (_ep, _req);
}
+ local_irq_restore (flags);
return retval;
}