On Thu, May 14, 2009 at 01:41:59PM +1000, Michael Ellerman wrote: > On Wed, 2009-05-13 at 15:43 -0600, Matthew Wilcox wrote: > > + > > + /* > > + * Some devices require MSI-X to be enabled before we can touch the > > + * MSI-X registers. We need to mask all the vectors to prevent > > + * interrupts coming in before they're fully set up. > > + */ > > + pci_read_config_word(dev, pos + PCI_MSIX_FLAGS, &control); > > + control |= PCI_MSIX_FLAGS_ENABLE | PCI_MSIX_FLAGS_MASKALL; > > + pci_write_config_word(dev, pos + PCI_MSIX_FLAGS, control); > > + > > I don't like this, sorry. > > In particular it means we're enabling MSI before the call to > arch_setup_msi_irqs() - I worry if the pseries firmware is going to be > happy about that. Could you try it? BTW, you still owe me a reply on whether the pseries firmware allows us to allocate more irqs for a given function. > I'm not sure if you're suggesting it is, but this isn't 30 material > IMHO. That's fair enough. We can certainly move the enable-MSI to after calling arch_setup_msi_irqs(). -- 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-pci" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html