On Wed, Oct 21, 2009 at 05:27:27PM +0200, Rolf Eike Beer wrote: > > + /* Try to enable MSI */ > > + if (use_msi && !pci_enable_msi(pdev)) > > + set_bit(TW_USING_MSI, &tw_dev->flags); > > + > > + /* Now setup the interrupt handler */ > > + retval = request_irq(pdev->irq, twl_interrupt, IRQF_SHARED, "3w-sas", > > tw_dev); + if (retval) { > > + TW_PRINTK(tw_dev->host, TW_DRIVER, 0x1f, "Error requesting IRQ"); > > + goto out_remove_host; > > + } > > If you're using MSI you should not pass IRQF_SHARED here. That's not true. While it is currently the case that each MSI gets its own vector, if you have a machine with sufficiently many interrupt sources and insufficiently many interrupt vectors, it is possible we'll have to share interrupt vectors. The PCI MSI code does not support this yet, but it may have to in the future, and it would be unpleasant to have to go through and change all the device drivers. -- Matthew Wilcox Intel Open Source Technology Centre "Bill, look, we understand that you're interested in selling us this operating system, but compare it to ours. We can't possibly take such a retrograde step." -- To unsubscribe from this list: send the line "unsubscribe linux-scsi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html