Re: [PATCH 1/2] pci: Block config access during BIST

Benjamin Herrenschmidt
2004-11-19T22:48:10Z

On Fri, 2004-11-19 at 13:32 -0800, Greg KH wrote:
> On Fri, Nov 19, 2004 at 02:23:22PM -0600, brking@us.ibm.com wrote:
> > -static inline int pci_read_config_byte(struct pci_dev *dev, int where, u8 *val)
> > -{
> > - return pci_bus_read_config_byte (dev->bus, dev->devfn, where, val);
> > -}
>
> Well, as much as I despise this patch, you should at least get it
> correct :)
>
> You need to block the pci_bus_* functions too, otherwise the parts of
> the kernel that use them will stomp all over your device, right?

The real issue is how to do the BIST write in fact once locked ... An
option would be to have an "atomic" write BIST & lock device, which
would do the whole operation with the spinlock.

I agree with Greg, the blocking should be done in the bus functions in
drivers/pci/access.c, and the helper that does the BIST thing should use
the low level callback directly within the lock.

Ben.