Messages in this thread | | | Date | Mon, 14 Feb 2005 15:00:43 -0500 | From | Jeff Garzik <> | Subject | Re: avoiding pci_disable_device()... |
| |
On Mon, Feb 14, 2005 at 11:58:38AM -0800, Roland Dreier wrote: > Jeff> * pci_request_regions() should be axiomatic. By that I mean, > Jeff> pci_enable_device() should > Jeff> (a) handle pci_request_regions() completely > Jeff> (b) fail if regions are not available > > There's one pitfall here: for a device using MSI-X, the MSI-X table is > going to be somewhere in one of the device's BARs. When the device > driver does pci_enable_msix(), drivers/pci/msi.c will do > request_region() on this table. If the device driver has already done > pci_request_regions(), then this will fail and the driver won't be > able to use MSI-X. The current solution is for the driver to avoid > requesting the whole BAR where the MSI-X table is.
That's an MSI bug.
A current PCI driver -should- be using pci_request_regions().
Jeff
- 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/
| |