Red Hat Bugzilla – Bug 125975
ehci-hcd does not do proper bios handoff
Last modified: 2007-11-30 17:07:02 EST
From Bugzilla Helper:
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;
H010818; .NET CLR 1.0.3705)
Description of problem:
Stuart Hayes has identified that the ehci-hcd driver does not
properly implement BIOS handoff for systems which fully support USB
2.0. They have coded in an & when it should be an |.
Here is the patch to resolve this. Please included this in RHEL3 U3
as our new platforms get very spotty USB port behavior without it.
--- linux-2.4.21-15.EL/drivers/usb/host/ehci-hcd.c.orig 2004-06-05
+++ linux-2.4.21-15.EL/drivers/usb/host/ehci-hcd.c 2004-06-05
@@ -290,7 +290,7 @@ static int bios_handoff (struct ehci_hcd
int msec = 500;
/* request handoff to OS */
- cap &= 1 << 24;
+ cap |= 1 << 24;
pci_write_config_dword (ehci->hcd.pdev, where, cap);
/* and wait a while for it to happen */
Version-Release number of selected component (if applicable):
Steps to Reproduce:
1. Obtain system with full USB 2.0 bios support
2. Plug in USB keyboard
3. Note that on some ports the keyboard does not work
Actual Results: USB 2.0 is not properly initialized.
Expected Results: Everything works without a hitch.
Woa, a typo in David-B's code. Good work, Gary.
Unfortunately, the U3 Beta freeze was today, but I do not remember
the precise cutoff time. It will be clear by Friday if this has made
A fix for this problem has just been committed to the RHEL3 U3
patch pool this evening (in kernel version 2.4.21-15.12.EL).
An errata has been issued which should help the problem
described in this bug report. This report is therefore being
closed with a resolution of ERRATA. For more information
on the solution and/or where to find the updated files,
please follow the link below. You may reopen this bug report
if the solution does not work for you.
For me, this problem (or one very much like it) still occurs with
2.4.21-20.EL. For example:
4# modprobe ehci-hcd
init_module: No such device
Hint: insmod errors can be caused by incorrect module parameters,
including invalid IO or IRQ parameters.
You may find more information in syslog or the output from dmesg
Oct 11 12:18:58 tuolumne kernel: PCI: Found IRQ 11 for device 00:1d.7
Oct 11 12:18:58 tuolumne kernel: PCI: Sharing IRQ 11 with 03:0b.0
Oct 11 12:18:58 tuolumne kernel: ehci-hcd 00:1d.7: Intel Corp. 82801EB
Oct 11 12:18:58 tuolumne kernel: ehci-hcd 00:1d.7: irq 11, pci mem
Oct 11 12:18:58 tuolumne kernel: usb.c: new USB bus registered,
assigned bus number 5
Oct 11 12:18:59 tuolumne kernel: ehci-hcd 00:1d.7: BIOS handoff failed
Oct 11 12:18:59 tuolumne kernel: ehci-hcd 00:1d.7: remove state 0
Oct 11 12:18:59 tuolumne kernel: usb.c: USB bus 5 deregistered
lspci is as follows:
00:00.0 Host bridge: Intel Corp. 82875P Memory Controller Hub (rev 02)
00:01.0 PCI bridge: Intel Corp. 82875P Processor to AGP Controller
00:03.0 PCI bridge: Intel Corp. 82875P Processor to PCI to CSA Bridge
00:1d.0 USB Controller: Intel Corp. 82801EB/ER (ICH5/ICH5R) USB UHCI
#1 (rev 02)00:1d.1 USB Controller: Intel Corp. 82801EB/ER (ICH5/ICH5R)
USB UHCI #2 (rev 02)00:1d.2 USB Controller: Intel Corp. 82801EB/ER
(ICH5/ICH5R) USB UHCI #3 (rev 02)00:1d.3 USB Controller: Intel Corp.
82801EB/ER (ICH5/ICH5R) USB UHCI #4 (rev 02)00:1d.7 USB Controller:
Intel Corp. 82801EB/ER (ICH5/ICH5R) USB2 EHCI Controller (rev 02)
00:1e.0 PCI bridge: Intel Corp. 82801BA/CA/DB/EB/ER Hub interface to
PCI Bridge (rev c2)
00:1f.0 ISA bridge: Intel Corp. 82801EB/ER (ICH5/ICH5R) LPC Bridge
00:1f.1 IDE interface: Intel Corp. 82801EB/ER (ICH5/ICH5R) Ultra ATA
100 Storage Controller (rev 02)
00:1f.3 SMBus: Intel Corp. 82801EB/ER (ICH5/ICH5R) SMBus Controller
01:00.0 VGA compatible controller: nVidia Corporation NV25 [GeForce4
Ti 4200] (rev a3)
02:01.0 Ethernet controller: Intel Corp. 82547EI Gigabit Ethernet
03:03.0 FireWire (IEEE 1394): VIA Technologies, Inc. IEEE 1394 Host
Controller (rev 80)
03:0a.0 Multimedia audio controller: Creative Labs SB Live! EMU10k1
03:0a.1 Input device controller: Creative Labs SB Live! MIDI/Game Port
03:0b.0 Ethernet controller: 3Com Corporation 3c905 100BaseTX [Boomerang]
03:0c.0 SCSI storage controller: Adaptec AHA-7850 (rev 01)
03:0d.0 SCSI storage controller: Adaptec AIC-7892A U160/m (rev 02)
Hello, Allen. Please open a new bug report with the information
above (since the original bug was already fixed in RHEL3 U3).
Thanks in advance. -ernie
I think new would be fine. We had a tracking of this particular
regression in bug 127428, but that one was mixed with the crash
Hello,i have the same problem "ehci-hcd 00:03.3: BIOS handoff failed
(112,1010001)" while the installation of the REDHAT 3 update 4 Enterprise
How can i solve this problem?