diff options
| author | John Stultz <johnstul@us.ibm.com> | 2004-09-10 01:02:06 -0700 |
|---|---|---|
| committer | Greg Kroah-Hartman <greg@kroah.com> | 2004-09-10 01:02:06 -0700 |
| commit | a83b8e193a0302f30a6df3f24bfef62c0ebc2e88 (patch) | |
| tree | 49d197abfc78192c22089c2e9515ac7768dd047c /include | |
| parent | 474208be127146e70953b25be3ad8d90cdbcf001 (diff) | |
[PATCH] USB: early usb handoff for 2.6
Apparently there is an issue w/ the IBM x440/x445's BIOS's USB
Legacy support. Due to the delay in issuing SMI's across the IOAPICs,
its possible for I/O to ports 60/64 to cause register corruption.
The solution is to disable the BIOS's USB Legacy support early in
boot(via PCI quirks) for x440/x445 systems.
Originally written by Vojtech against SuSE's tree, this patch was then
updated to disable EHCI by Aleksey Gorelov, cleaned up by Pete Zaitcev
for 2.4 and finally tweaked and updated against 2.6 by me.
I've lightly tested this version of the patch, but it differs little
from what Aleksey, Pete and I have been testing for 2.4.
Signed-off-by: John Stultz <jstultz@us.ibm.com>
Signed-off-by: Greg Kroah-Hartman <greg@kroah.com>
Diffstat (limited to 'include')
| -rw-r--r-- | include/asm-i386/mach-summit/mach_mpparse.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/include/asm-i386/mach-summit/mach_mpparse.h b/include/asm-i386/mach-summit/mach_mpparse.h index 1cce2b924a80..2b9e6d55bef1 100644 --- a/include/asm-i386/mach-summit/mach_mpparse.h +++ b/include/asm-i386/mach-summit/mach_mpparse.h @@ -22,6 +22,7 @@ static inline void mpc_oem_pci_bus(struct mpc_config_bus *m, { } +extern int usb_early_handoff; static inline int mps_oem_check(struct mp_config_table *mpc, char *oem, char *productid) { @@ -31,6 +32,7 @@ static inline int mps_oem_check(struct mp_config_table *mpc, char *oem, || !strncmp(productid, "RUTHLESS SMP", 12))){ use_cyclone = 1; /*enable cyclone-timer*/ setup_summit(); + usb_early_handoff = 1; return 1; } return 0; @@ -44,6 +46,7 @@ static inline int acpi_madt_oem_check(char *oem_id, char *oem_table_id) || !strncmp(oem_table_id, "EXA", 3))){ use_cyclone = 1; /*enable cyclone-timer*/ setup_summit(); + usb_early_handoff = 1; return 1; } return 0; |
