From: Brian King <brking@us.ibm.com>


Signed-off-by: Andrew Morton <akpm@osdl.org>
---

 drivers/pci/access.c |    3 +++
 pci/pci-sysfs.c      |    0 
 pci/pci.h            |    0 
 pci/proc.c           |    0 
 pci/syscall.c        |    0 
 linux/pci.h          |    0 
 6 files changed, 3 insertions(+)

diff -puN drivers/pci/access.c~pci-block-config-access-during-bist-update-2 drivers/pci/access.c
--- devel/drivers/pci/access.c~pci-block-config-access-during-bist-update-2	2005-09-06 12:40:41.000000000 -0700
+++ devel-akpm/drivers/pci/access.c	2005-09-06 12:43:04.000000000 -0700
@@ -139,5 +139,8 @@ EXPORT_SYMBOL_GPL(pci_block_user_cfg_acc
 void pci_unblock_user_cfg_access(struct pci_dev *dev)
 {
 	dev->block_ucfg_access = 0;
+	mb();
+	while (spin_is_locked(&pci_lock))
+		cpu_relax();
 }
 EXPORT_SYMBOL_GPL(pci_unblock_user_cfg_access);
diff -puN drivers/pci/pci.h~pci-block-config-access-during-bist-update-2 drivers/pci/pci.h
diff -puN drivers/pci/pci-sysfs.c~pci-block-config-access-during-bist-update-2 drivers/pci/pci-sysfs.c
diff -puN drivers/pci/proc.c~pci-block-config-access-during-bist-update-2 drivers/pci/proc.c
diff -puN drivers/pci/syscall.c~pci-block-config-access-during-bist-update-2 drivers/pci/syscall.c
diff -puN include/linux/pci.h~pci-block-config-access-during-bist-update-2 include/linux/pci.h
_