Bug 125975 - ehci-hcd does not do proper bios handoff
Summary: ehci-hcd does not do proper bios handoff
Alias: None
Product: Red Hat Enterprise Linux 3
Classification: Red Hat
Component: kernel (Show other bugs)
(Show other bugs)
Version: 3.0
Hardware: All Linux
Target Milestone: ---
Assignee: Pete Zaitcev
QA Contact: Brian Brock
Depends On:
TreeView+ depends on / blocked
Reported: 2004-06-14 18:36 UTC by Gary Lerhaupt
Modified: 2007-11-30 22:07 UTC (History)
7 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Last Closed: 2004-09-02 04:31:47 UTC
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Attachments (Terms of Use)

External Trackers
Tracker ID Priority Status Summary Last Updated
Red Hat Product Errata RHBA-2004:433 normal SHIPPED_LIVE Updated kernel packages available for Red Hat Enterprise Linux 3 Update 3 2004-09-02 04:00:00 UTC

Description Gary Lerhaupt 2004-06-14 18:36:10 UTC
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 
03:12:18.000000000 -0500
+++ linux-2.4.21-15.EL/drivers/usb/host/ehci-hcd.c	2004-06-05 
01:18:51.000000000 -0500
@@ -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):

How reproducible:

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.

Additional info:

Comment 1 Pete Zaitcev 2004-06-15 00:08:42 UTC
Woa, a typo in David-B's code. Good work, Gary.

Comment 2 Pete Zaitcev 2004-06-15 00:46:04 UTC
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
the deadline.

Comment 3 Ernie Petrides 2004-06-16 07:24:28 UTC
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).

Comment 4 John Flanagan 2004-09-02 04:31:47 UTC
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.


Comment 5 Allen Akin 2004-10-11 19:24:01 UTC
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
/lib/modules/2.4.21-20.EL/kernel/drivers/usb/host/ehci-hcd.o: insmod
/lib/modules/2.4.21-20.EL/kernel/drivers/usb/host/ehci-hcd.o failed
/lib/modules/2.4.21-20.EL/kernel/drivers/usb/host/ehci-hcd.o: insmod
ehci-hcd failed

/var/log/messages contains:

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
(104, 1010001)
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:

6# lspci
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
(rev 02)
00:03.0 PCI bridge: Intel Corp. 82875P Processor to PCI to CSA Bridge
(rev 02)
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
(rev 02)
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
(rev 02)
01:00.0 VGA compatible controller: nVidia Corporation NV25 [GeForce4
Ti 4200] (rev a3)
02:01.0 Ethernet controller: Intel Corp. 82547EI Gigabit Ethernet
Controller (LOM)
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
(rev 07)
03:0a.1 Input device controller: Creative Labs SB Live! MIDI/Game Port
(rev 07)
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)

Any suggestions?


Comment 6 Ernie Petrides 2004-10-11 22:15:36 UTC
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

Comment 7 Pete Zaitcev 2004-10-11 22:37:47 UTC
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
in scan_async.

Comment 8 marco 2005-04-29 10:02:20 UTC
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?


Note You need to log in before you can comment on or make changes to this bug.