A device using level triggered interrupt will not generate any interrupts in the kdump kernel
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
linux (Ubuntu) |
Fix Released
|
Medium
|
Brad Figg | ||
Oneiric |
Fix Released
|
Undecided
|
Unassigned |
Bug Description
SRU Justification
Impact
---------
In the kdump scenario mentioned below, we can have a case where the device
using level triggered interrupt will not generate any interrupts in the
kdump kernel.
1. IO-APIC sends a level triggered interrupt to the CPU's local APIC
2. Kernel crashed before the CPU services this interrupt, leaving the remoteIRR
in the IO-APIC set
3. kdump kernel boot sequence does clear_IO_APIC() as part of IO-APIC
initialization. But this fails to reset remoteIRR bit of the IO-APIC RTE
as the remoteIRR bit is read-only.
4. Device using that level triggered entry can't generate any more interrupts
because of the remoteIRR bit.
In clear_IO_
do an explicit attempt to clear it (by doing EOI write on modern io-apic's
and changing trigger mode to edge/level on older io-apic's).
Fix
----
upstream commit 1e75b31d638d524
Testcase
------------
TBD
Related branches
tags: | added: oneiric |
Changed in linux (Ubuntu): | |
status: | In Progress → Fix Released |
This bug is awaiting verification that the kernel in -proposed solves the problem. Please test the kernel and update this bug with the results. If the problem is solved, change the tag 'verification- needed- oneiric' to 'verification- done-oneiric' .
If verification is not done by one week from today, this fix will be dropped from the source code, and this bug will be closed.
See https:/ /wiki.ubuntu. com/Testing/ EnableProposed for documentation how to enable and use -proposed. Thank you!