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

Brian King
2005-09-02T17:56:43Z

Andrew Morton wrote:
> Brian King <brking@us.ibm.com> wrote:
>
>>+void pci_block_user_cfg_access(struct pci_dev *dev)
>>+{
>>+ unsigned long flags;
>>+
>>+ pci_save_state(dev);
>>+ spin_lock_irqsave(&pci_lock, flags);
>>+ dev->block_ucfg_access = 1;
>>+ spin_unlock_irqrestore(&pci_lock, flags);
>
>
> Are you sure the locking in here is meaningful? All it will really do is
> give you a couple of barriers.

Actually, it is meaningful. It synchronizes the blocking of pci config
accesses with other pci config accesses that may be going on when this
function is called. Without the locking, the API cannot guarantee that
no further user initiated PCI config accesses will be initiated after
this function is called.

Brian

--
Brian King
eServer Storage I/O
IBM Linux Technology Center