1
linux/drivers
Brian King e04b0ea2e0 [PATCH] PCI: Block config access during BIST
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.

Signed-off-by: Brian King <brking@us.ibm.com>
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

 drivers/pci/access.c    |   89 ++++++++++++++++++++++++++++++++++++++++++++++++
 drivers/pci/pci-sysfs.c |   20 +++++-----
 drivers/pci/pci.h       |    7 +++
 drivers/pci/proc.c      |   28 +++++++--------
 drivers/pci/syscall.c   |   14 +++----
 include/linux/pci.h     |    7 +++
 6 files changed, 134 insertions(+), 31 deletions(-)
2005-10-28 15:36:58 -07:00
..
acorn [ARM] Fix pcf8583 to build 2005-09-20 21:01:13 +01:00
acpi [PATCH] `unaligned access' in acpi get_root_bridge_busnr() 2005-10-19 23:04:31 -07:00
atm [PATCH] gfp flags annotations - part 1 2005-10-08 15:00:57 -07:00
base [PATCH] kernel-doc: drivers/base fixes 2005-10-28 09:52:56 -07:00
block Merge ../bleed-2.6 2005-10-28 10:13:16 -07:00
bluetooth [Bluetooth] Ignore additional interfaces of BPA 100/105 devices 2005-10-28 19:20:57 +02:00
cdrom [PATCH] drivers/cdrom: fix-up schedule_timeout() usage 2005-09-10 10:06:38 -07:00
char Merge ../bleed-2.6 2005-10-28 10:13:16 -07:00
connector [PATCH] gfp flags annotations - part 1 2005-10-08 15:00:57 -07:00
cpufreq [PATCH] cpufreq: SMP fix for conservative governor 2005-10-27 16:29:24 -07:00
crypto
dio
eisa
fc4
firmware [PATCH] dell_rbu: changes in packet update mechanism 2005-10-11 09:46:53 -07:00
hwmon [PATCH] hwmon: smsc47m1 documentation update 2005-10-28 14:02:14 -07:00
i2c [PATCH] I2C: remove devfs support from i2c-dev driver 2005-10-28 14:02:14 -07:00
ide [PATCH] Driver Core: fix up all callers of class_device_create() 2005-10-28 09:52:52 -07:00
ieee1394 Merge ../bleed-2.6 2005-10-28 10:13:16 -07:00
infiniband Merge ../bleed-2.6 2005-10-28 10:13:16 -07:00
input Merge master.kernel.org:/pub/scm/linux/kernel/git/gregkh/driver-2.6 2005-10-28 13:09:47 -07:00
isdn [PATCH] Driver Core: fix up all callers of class_device_create() 2005-10-28 09:52:52 -07:00
macintosh [PATCH] Input: convert drivers/macintosh to dynamic input_dev allocation 2005-10-28 09:52:53 -07:00
mca
md [PATCH] gfp_t: remaining bits of drivers/* 2005-10-28 08:16:51 -07:00
media [PATCH] DRIVER MODEL: Get rid of the obsolete tri-level suspend/resume callbacks 2005-10-28 09:52:56 -07:00
message [PATCH] Driver Core: fix up all callers of class_device_create() 2005-10-28 09:52:52 -07:00
mfd [PATCH] DRIVER MODEL: Get rid of the obsolete tri-level suspend/resume callbacks 2005-10-28 09:52:56 -07:00
misc [PATCH] hdpu_cpustate.c: misc_register() can fail 2005-09-10 10:06:25 -07:00
mmc Merge ../bleed-2.6 2005-10-28 10:13:16 -07:00
mtd Merge ../bleed-2.6 2005-10-28 10:13:16 -07:00
net Merge master.kernel.org:/pub/scm/linux/kernel/git/gregkh/driver-2.6 2005-10-28 13:09:47 -07:00
nubus
oprofile
parisc Auto-update from upstream 2005-10-28 12:18:07 -04:00
parport [PARISC] Convert parisc_device to use struct resource for hpa 2005-10-21 22:36:40 -04:00
pci [PATCH] PCI: Block config access during BIST 2005-10-28 15:36:58 -07:00
pcmcia pcmcia: add socket register data to sysfs for yenta devices 2005-10-28 13:55:08 -07:00
pnp Merge linux-2.6 with linux-acpi-2.6 2005-09-08 01:45:47 -04:00
s390 Merge ../bleed-2.6 2005-10-28 10:13:16 -07:00
sbus [PATCH] Remove unnecessary check_region references in comments 2005-09-13 08:22:29 -07:00
scsi Merge master.kernel.org:/pub/scm/linux/kernel/git/gregkh/driver-2.6 2005-10-28 13:09:47 -07:00
serial Merge master.kernel.org:/pub/scm/linux/kernel/git/gregkh/driver-2.6 2005-10-28 13:09:47 -07:00
sh
sn
tc [PATCH] Remove unnecessary check_region references in comments 2005-09-13 08:22:29 -07:00
telephony [PATCH] telephony: fix-up schedule_timeout() usage 2005-09-10 10:06:39 -07:00
usb Merge ../bleed-2.6 2005-10-28 10:13:16 -07:00
video Merge master.kernel.org:/pub/scm/linux/kernel/git/gregkh/driver-2.6 2005-10-28 13:09:47 -07:00
w1 [PATCH] Dallas's 1-wire bus compile error 2005-10-14 17:10:13 -07:00
zorro
Kconfig [NET]: Add netlink connector. 2005-09-11 19:15:07 -07:00
Makefile [NET]: Add netlink connector. 2005-09-11 19:15:07 -07:00