Jesse Barnes wrote: > On Tuesday, June 24, 2008 3:46 am David Vrabel wrote: >> PCI MSI interrupts are masked and unmasked using a method (by writing >> the MSI Enable capability bit) that is prohibited by the PCI specification. > > Yeah, it's probably quite a bit slower too (I assume you're talking about > io_apic_64's msi_mask_irq). Seems like masking this at the ioapic level > would make more sense anyway... > >> This behaviour can cause missed interrupts with some devices if the >> interrupt is asserted by the hardware while MSI is disabled. >> >> I believe the interrupt should be masked/unmasked on the interrupt >> controller (the APIC on x86, for example). I'm going to test this now >> and see if it works. After further research it seems that MSI interrupts aren't routed via the IO-APIC, so this cannot be done. I think the only solution is to not perform any sort of masking and rely on the device driver being able to handle this. David -- David Vrabel, Senior Software Engineer, Drivers CSR, Churchill House, Cambridge Business Park, Tel: +44 (0)1223 692562 Cowley Road, Cambridge, CB4 0WZ http://www.csr.com/