Re: avoiding pci_disable_device()...

From: Roland Dreier
Date: Mon Feb 14 2005 - 15:00:25 EST


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.

- R.
-
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/