There is a non MSI-X cause as well with the ioapics that I believe I have
now worked around. It was a lot harder because ioapics don't obey the
pci ordering rules. Although the primary culprit was receiving a second
instance of the an irq before we had acknowledged the first instance.
I had just about concluded that there was likely a second cause for
the "no vector for IRQ" message but I had not been able to confirm
that until I saw the first version of this patch.
In general the rule for -stable is that a fix has to go to -linus
first. It makes it simple to see if the normal QA has been done
on the patch before we push it towards stable. So this patch needs to
hit 2.6.21 first.