Red Hat Bugzilla – Bug 127105
RHEL 2.1: x445 Legacy USB support workaround needed
Last modified: 2013-03-06 00:57:07 EST
From Bugzilla Helper:
User-Agent: Mozilla/5.0 (compatible; Konqueror/3.2; Linux) (KHTML,
Description of problem:
This is the RHEL 2.1 AS version of bug #126984
Apparently there is an issue w/ the IBM 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 we're looking at is to disable BIOS's USB Legacy SMI
early on boot (via pci quirks).
This is the same solution proposed to resolve issues w/ laptop issues
related to touchpads and external mice.
Version-Release number of selected component (if applicable):
Steps to Reproduce:
1. Enable USB Legacy support on x445
2. Disconnect PS2 keyboard, reconnect USB keyboard
3. Boot system
Actual Results: Random kernel panics or hangs. Sometimes nothing at
Expected Results: No problems.
I'm working on the patch for the 2.4.9-summit kernel. After we have
tested it here I'll post it.
Created attachment 101882 [details]
Here is the current fix against RHAS 2.1. I've run this by GregKH for sanity
checking and he said it looked fine. Currently we are still testing this patch,
but I figured I should attach it so it could be reviewed.
The patch (attachment #101882 [details]) has been tested and is ready for
inclusion. I'll be sending out patches against mainline to lkml later
Waiting on code review happening in bug #126984, added to the RHEL 2.1
U6 blockers candidates list
Anything else need to be done for this now that the RHEL3 version has
We have a slightly different version for RHEL3, I suggest we use
that one instead of the one currently attached (in comment #2).
Created attachment 104490 [details]
The patch backported from RHEL3
John's old patch worked just fine, I suppose. I completely forgot
that the old .spec applied it to Summit kernels only on 2.4.9 series,
so there was zero risk of regressions on other platforms.
I'm adding an RHEL3 based version in case Jason prefers
John, mind testing Pete's patch?
Pete's patch is in the U6 beta
I don't see the fix in kernel-source-2.4.9-e.51, am I missing
Unfortunately rhel2.1 doesn't have one source code base (rhel3 forward
does, however). The patch is only being applied to the summit kernel.
The patch is linux-2.4.9e12_get_irq_list.patch in the .src.rpm.
Hopefully that's not too confusing.
Ah, my mistake. Sorry I missed it. I've run almost 2 full days of
rebooting on the system, and the original issue has not cropped up,
so I'd say this is resolved.
Now, linux-2.4.9e12_get_irq_list.patch is also usefull for IBM x336 & x346
machine (which have USB2 controller).
So applying this patch to smp, up and enterprise kernel is required to not
having kernel panic on these machines
Woops, I made a mistake, the patch from comment #12 is ok.
I am comfortable with that one (but not with Wendy's version).
It sits in linux-2.4.9e12_get_irq_list.patch in 2.4.9-e.61,
mixed with other Summit bits, so I guess you'll need to pull
it out with a text editor.
Now, perhaps what Wendy tried to do was to pull out the
part which patches drivers/pci/quirks.c but leave the part
which patches arch/i386/kernel/mpparse.c. That would be
the right thing to do, I suppose.
Pete, don't you mean the opposite? Leave the quirk.c bits, but remove the
The current situation in Pensacola is that both quirk.c and mpparse.c
parts are applied on Summit only (from linux-2.4.9e12_get_irq_list.patch).
The proposal is to remove quirk.c from there and move it to some place
where it would apply to all architectures, at prep time, not build time.
The mpparse.c part is left alone then.
The last paragraph speculated why Wendy did not post the mpparse.c part
for the review (because it stays where it is).
An advisory 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.