[Hardy][Intrepid] SRU request (assign IRQ0 vector bit)
stefan.bader at canonical.com
Tue Sep 30 14:15:50 UTC 2008
Impact: Repeatedly loading and unloading a driver that uses a non-shared IRQ
(always the case for MSI) will eventually assign the vector used by IRQ0
(timer). This is because IRQ0 is setup early in the IO_APIC (32bit) code
without marking the associated bit in the map of used vectors. This is a
specific problem in the 32bit code of the IO APIC.
Fix: patch attached (submitted upstream, not accepted, yet)
Testcase: 32bit system with IO APIC in use. Unload and load a driver which does
not share its IRQ repeatedly. After around 163 cycles cat /proc/interrupts will
not show any new interrupts on IRQ0 and the system sometimes starts to freeze
until any key is hit (trigger some other interrupt).
This has a dependency to the MSI-X allocation bug which also needs to be fixed.
When all other means of communication fail, try words!
-------------- next part --------------
A non-text attachment was scrubbed...
Size: 1523 bytes
Desc: not available
More information about the kernel-team