diff options
author | Linus Torvalds <torvalds@g5.osdl.org> | 2006-08-02 20:25:35 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-08-02 20:25:35 -0700 |
commit | 90eb29efd0ca9301d80d03ea13662d32436f060e (patch) | |
tree | 4d019d931c99dc4b91e516ea181aabcbb36528b4 /drivers/usb/gadget/dummy_hcd.c | |
parent | 1398ab7cb92b21d8d5add3bdc25b2c00462cfd5c (diff) | |
parent | cae74b30dd98c10baa5b47b4698bf67e5eb15687 (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.c | 6 |
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; } |