I think I've got it fixed. I submitted a patch, so we'll see.
The problem commit added a test to the bad-irq routines, checking whether they were already running. One of these tests had an equal-to operator, "==", where it seems to need "!=", not equal. Making that one change in kernel/irq/spurious.c fixes the regression for me. I've tested it successfully it on various kernels, including the current Oneiric source.
The submitted patch is attached. And here it is on LKML, in (hopeful) case anything happens there:
I think I've got it fixed. I submitted a patch, so we'll see.
The problem commit added a test to the bad-irq routines, checking whether they were already running. One of these tests had an equal-to operator, "==", where it seems to need "!=", not equal. Making that one change in kernel/ irq/spurious. c fixes the regression for me. I've tested it successfully it on various kernels, including the current Oneiric source.
The submitted patch is attached. And here it is on LKML, in (hopeful) case anything happens there:
https:/ /lkml.org/ lkml/2011/ 11/1/267
Please test if you can. Thanks.