diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2009-01-07 18:37:24 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2009-01-07 18:37:24 -0500 |
commit | 7c7758f99d39d529a64d4f60d22129bbf2f16d74 (patch) | |
tree | 8847b5e56812fe4c4c812cfffc78e391a91f4ebe /drivers/usb/host/ehci-pci.c | |
parent | 67acd8b4b7a3f1b183ae358e1dfdb8a80e170736 (diff) | |
parent | 8a70da82edc50aa7a4b54864babf2d72538ba1bb (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: (123 commits)
wimax/i2400m: add CREDITS and MAINTAINERS entries
wimax: export linux/wimax.h and linux/wimax/i2400m.h with headers_install
i2400m: Makefile and Kconfig
i2400m/SDIO: TX and RX path backends
i2400m/SDIO: firmware upload backend
i2400m/SDIO: probe/disconnect, dev init/shutdown and reset backends
i2400m/SDIO: header for the SDIO subdriver
i2400m/USB: TX and RX path backends
i2400m/USB: firmware upload backend
i2400m/USB: probe/disconnect, dev init/shutdown and reset backends
i2400m/USB: header for the USB bus driver
i2400m: debugfs controls
i2400m: various functions for device management
i2400m: RX and TX data/control paths
i2400m: firmware loading and bootrom initialization
i2400m: linkage to the networking stack
i2400m: Generic probe/disconnect, reset and message passing
i2400m: host/device procotol and core driver definitions
i2400m: documentation and instructions for usage
wimax: Makefile, Kconfig and docbook linkage for the stack
...
Diffstat (limited to 'drivers/usb/host/ehci-pci.c')
-rw-r--r-- | drivers/usb/host/ehci-pci.c | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/drivers/usb/host/ehci-pci.c b/drivers/usb/host/ehci-pci.c index 36864f958444..bdc6e86e1f8b 100644 --- a/drivers/usb/host/ehci-pci.c +++ b/drivers/usb/host/ehci-pci.c | |||
@@ -219,15 +219,19 @@ static int ehci_pci_setup(struct usb_hcd *hcd) | |||
219 | /* Serial Bus Release Number is at PCI 0x60 offset */ | 219 | /* Serial Bus Release Number is at PCI 0x60 offset */ |
220 | pci_read_config_byte(pdev, 0x60, &ehci->sbrn); | 220 | pci_read_config_byte(pdev, 0x60, &ehci->sbrn); |
221 | 221 | ||
222 | /* Workaround current PCI init glitch: wakeup bits aren't | 222 | /* Keep this around for a while just in case some EHCI |
223 | * being set from PCI PM capability. | 223 | * implementation uses legacy PCI PM support. This test |
224 | * can be removed on 17 Dec 2009 if the dev_warn() hasn't | ||
225 | * been triggered by then. | ||
224 | */ | 226 | */ |
225 | if (!device_can_wakeup(&pdev->dev)) { | 227 | if (!device_can_wakeup(&pdev->dev)) { |
226 | u16 port_wake; | 228 | u16 port_wake; |
227 | 229 | ||
228 | pci_read_config_word(pdev, 0x62, &port_wake); | 230 | pci_read_config_word(pdev, 0x62, &port_wake); |
229 | if (port_wake & 0x0001) | 231 | if (port_wake & 0x0001) { |
232 | dev_warn(&pdev->dev, "Enabling legacy PCI PM\n"); | ||
230 | device_init_wakeup(&pdev->dev, 1); | 233 | device_init_wakeup(&pdev->dev, 1); |
234 | } | ||
231 | } | 235 | } |
232 | 236 | ||
233 | #ifdef CONFIG_USB_SUSPEND | 237 | #ifdef CONFIG_USB_SUSPEND |
@@ -428,6 +432,8 @@ static struct pci_driver ehci_pci_driver = { | |||
428 | 432 | ||
429 | #ifdef CONFIG_PM | 433 | #ifdef CONFIG_PM |
430 | .suspend = usb_hcd_pci_suspend, | 434 | .suspend = usb_hcd_pci_suspend, |
435 | .suspend_late = usb_hcd_pci_suspend_late, | ||
436 | .resume_early = usb_hcd_pci_resume_early, | ||
431 | .resume = usb_hcd_pci_resume, | 437 | .resume = usb_hcd_pci_resume, |
432 | #endif | 438 | #endif |
433 | .shutdown = usb_hcd_pci_shutdown, | 439 | .shutdown = usb_hcd_pci_shutdown, |