]> git.karo-electronics.de Git - karo-tx-linux.git/commit
x86/ioapic: Add register level checks to detect bogus io-apic entries
authorSuresh Siddha <suresh.b.siddha@intel.com>
Mon, 12 Mar 2012 18:36:33 +0000 (11:36 -0700)
committerIngo Molnar <mingo@elte.hu>
Tue, 13 Mar 2012 04:52:02 +0000 (05:52 +0100)
commit73d63d038ee9f769f5e5b46792d227fe20e442c5
tree8d595eccf1d62bc212ee6bf362e4ee2bf38bd3df
parenta5c2edf5765a6efedfd862bce6c616bfec46306a
x86/ioapic: Add register level checks to detect bogus io-apic entries

With the recent changes to clear_IO_APIC_pin() which tries to
clear remoteIRR bit explicitly, some of the users started to see
"Unable to reset IRR for apic .." messages.

Close look shows that these are related to bogus IO-APIC entries
which return's all 1's for their io-apic registers. And the
above mentioned error messages are benign. But kernel should
have ignored such io-apic's in the first place.

Check if register 0, 1, 2 of the listed io-apic are all 1's and
ignore such io-apic.

Reported-by: Álvaro Castillo <midgoon@gmail.com>
Tested-by: Jon Dufresne <jon@jondufresne.org>
Signed-off-by: Suresh Siddha <suresh.b.siddha@intel.com>
Cc: yinghai@kernel.org
Cc: kernel-team@fedoraproject.org
Cc: Josh Boyer <jwboyer@redhat.com>
Cc: <stable@kernel.org>
Link: http://lkml.kernel.org/r/1331577393.31585.94.camel@sbsiddha-desk.sc.intel.com
[ Performed minor cleanup of affected code. ]
Signed-off-by: Ingo Molnar <mingo@elte.hu>
arch/x86/kernel/apic/io_apic.c