aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/usb/host
diff options
context:
space:
mode:
authorDavid Brownell <david-b@pacbell.net>2006-02-24 19:55:52 -0500
committerGreg Kroah-Hartman <gregkh@suse.de>2006-02-28 15:42:06 -0500
commit8c450802a3abf0e8a45238fcb7d22ed9d6f191ce (patch)
tree7b950d665abb07ef3afd07c6135e685d5a70a817 /drivers/usb/host
parentb9756c047ce6b60e3b96aa3c5db958acbdacedde (diff)
[PATCH] USB: fix EHCI BIOS handshake
Fix http://bugzilla.kernel.org/show_bug.cgi?id=6128 Finish morphing the "early handoff" version of the EHCI BIOS handshake over to match the previous implementation inside the EHCI driver (except that now we forcibly disable the SMI). The version that had been with the PCI code was surprisingly full of bugs. Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Cc: <yazar256@gmail.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers/usb/host')
-rw-r--r--drivers/usb/host/pci-quirks.c11
1 files changed, 6 insertions, 5 deletions
diff --git a/drivers/usb/host/pci-quirks.c b/drivers/usb/host/pci-quirks.c
index 118288d94423..9e81c26313f9 100644
--- a/drivers/usb/host/pci-quirks.c
+++ b/drivers/usb/host/pci-quirks.c
@@ -260,12 +260,13 @@ static void __devinit quirk_usb_disable_ehci(struct pci_dev *pdev)
260 offset + EHCI_USBLEGCTLSTS, 260 offset + EHCI_USBLEGCTLSTS,
261 val | EHCI_USBLEGCTLSTS_SOOE); 261 val | EHCI_USBLEGCTLSTS_SOOE);
262#endif 262#endif
263 }
264 263
265 /* always say Linux will own the hardware 264 /* some systems get upset if this semaphore is
266 * by setting EHCI_USBLEGSUP_OS. 265 * set for any other reason than forcing a BIOS
267 */ 266 * handoff..
268 pci_write_config_byte(pdev, offset + 3, 1); 267 */
268 pci_write_config_byte(pdev, offset + 3, 1);
269 }
269 270
270 /* if boot firmware now owns EHCI, spin till 271 /* if boot firmware now owns EHCI, spin till
271 * it hands it over. 272 * it hands it over.