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. ** Patch added: "Patch I submitted to LKML" https://bugs.launchpad.net/ubuntu/+source/linux/+bug/855199/+attachment/2582068/+files/0001-genirq-spurious.c-fix-regression-that-broke-irqfixup.patch -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/855199 Title: "irqfixup" and "irqpoll" broken since 2.6.39 To manage notifications about this bug go to: https://bugs.launchpad.net/linux/+bug/855199/+subscriptions -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs