Re: [PATCH 1/1] pci: Block config access during BIST (resend)

Andi Kleen
2005-01-10T16:10:19Z

brking@us.ibm.com writes:

> Some PCI adapters (eg. ipr scsi adapters) have an exposure today in that
> they issue BIST to the adapter to reset the card. If, during the time
> it takes to complete BIST, userspace attempts to access PCI config space,
> the host bus bridge will master abort the access since the ipr adapter
> does not respond on the PCI bus for a brief period of time when running BIST.
> On PPC64 hardware, this master abort results in the host PCI bridge
> isolating that PCI device from the rest of the system, making the device
> unusable until Linux is rebooted. This patch is an attempt to close that
> exposure by introducing some blocking code in the PCI code. When blocked,
> writes will be humored and reads will return the cached value. Ben
> Herrenschmidt has also mentioned that he plans to use this in PPC power
> management.

I think it would be better to do this check higher level in the driver.
IMHO pci_*_config should stay lean and fast low level functions without
such baggage.

-Andi