diff options
author | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-12-17 13:33:30 -0800 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-12-17 13:33:30 -0800 |
commit | 4942093e9d3b1ebdb27f43b8f3e483981e85107e (patch) | |
tree | 978da94cf8b8c368192c48859e31fbd000e8a1a4 /drivers/usb/core | |
parent | 07232b971577442de0821afa0abafb6531b6192e (diff) | |
parent | e70e7690b66dc06fe2ad9058e696e18fe7f3faa6 (diff) |
Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6
* git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6:
USB: revert portions of "UNUSUAL_DEV: Sync up some reported devices from Ubuntu"
usb: Remove broken optimisation in OHCI IRQ handler
USB: at91_udc: correct hanging while disconnecting usb cable
USB: use IRQF_DISABLED for HCD interrupt handlers
USB: fix locking loop by avoiding flush_scheduled_work
usb.h: fix kernel-doc warning
USB: option: Bind to the correct interface of the Huawei E220
USB: cp2101: new device id
usb-storage: Fix devices that cannot handle 32k transfers
USB: sierra: fix product id
Diffstat (limited to 'drivers/usb/core')
-rw-r--r-- | drivers/usb/core/hcd-pci.c | 2 | ||||
-rw-r--r-- | drivers/usb/core/hub.c | 6 |
2 files changed, 4 insertions, 4 deletions
diff --git a/drivers/usb/core/hcd-pci.c b/drivers/usb/core/hcd-pci.c index 5cf6d5f9acb..3fb9af80cbf 100644 --- a/drivers/usb/core/hcd-pci.c +++ b/drivers/usb/core/hcd-pci.c @@ -125,7 +125,7 @@ int usb_hcd_pci_probe (struct pci_dev *dev, const struct pci_device_id *id) pci_set_master (dev); - retval = usb_add_hcd (hcd, dev->irq, IRQF_SHARED); + retval = usb_add_hcd(hcd, dev->irq, IRQF_DISABLED | IRQF_SHARED); if (retval != 0) goto err4; return retval; diff --git a/drivers/usb/core/hub.c b/drivers/usb/core/hub.c index 13b326a1337..b04d232d4c6 100644 --- a/drivers/usb/core/hub.c +++ b/drivers/usb/core/hub.c @@ -522,9 +522,9 @@ static void hub_quiesce(struct usb_hub *hub) /* (blocking) stop khubd and related activity */ usb_kill_urb(hub->urb); if (hub->has_indicators) - cancel_delayed_work(&hub->leds); - if (hub->has_indicators || hub->tt.hub) - flush_scheduled_work(); + cancel_delayed_work_sync(&hub->leds); + if (hub->tt.hub) + cancel_work_sync(&hub->tt.kevent); } static void hub_activate(struct usb_hub *hub) |