Messages in this thread | | | Subject | Re: [PATCH]2.6.7 MSI-X Update | From | Roland Dreier <> | Date | Wed, 14 Jul 2004 19:14:22 -0700 |
| |
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@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |