Re: [PATCH]2.6.7 MSI-X Update

From: Roland Dreier
Date: Wed Jul 14 2004 - 21:23:25 EST


Long, welcome back. I will review your patch as soon as I have a
little free time.

Roland> 2) removing this overloaded function from free_irq() will
Roland> also make driver code clearer and easier to maintain.

long> I need this overloaded function to keep track of the state
long> of each MSI/MSI-X vector. This allows me to generate a
long> BUG_ON() if driver calls
long> pci_disable_msi()/pci_disable_msix() without calling
long> free_irq() for all MSI/MSI-X vector(s).

I think it's OK to keep track of which MSI/MSI-X vectors have ISRs
attached and which don't. However I don't think free_irq() should
return a vector to the free pool (that might be used by other
devices). In other words it should be OK for a correct driver to do

pci_enable_msix(pdev...);
request_irq(msix_vector1);
free_irq(msix_vector1);
request_irq(msix_vector1);
free_irq(msix_vector1);
pci_disable_msix(pdev...);

(obviously with some code in between operations).

I think we agree on this and I will read your code to find out what
you actually do but I just wanted to make my proposed interface clear.

Thanks,
Roland
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/