A recent discussion about the PCI/MSI management for virtio unearthed a violation of the MSI-X specification vs. writing the MSI-X message: under certain circumstances the entry is written without being masked. While looking at that and the related violation of the x86 non-remapped interrupt affinity mechanism a few other issues were discovered by inspection. The following series addresses these. Note this does not fix the virtio issue, but while staring at the above problems I came up with a plan to address this. I'm still trying to convince myself that I can get away without sprinkling locking all over the place, so don't hold your breath that this will materialize tomorrow. The series is also available from git: git://git.kernel.org/pub/scm/linux/kernel/git/tglx/devel.git irq/msi Thanks, tglx --- arch/x86/kernel/apic/io_apic.c | 6 +- arch/x86/kernel/apic/msi.c | 11 +++- arch/x86/kernel/hpet.c | 2 drivers/pci/msi.c | 98 +++++++++++++++++++++++++++-------------- include/linux/irq.h | 2 kernel/irq/chip.c | 5 +- 6 files changed, 85 insertions(+), 39 deletions(-)