aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/pci/probe.c
diff options
context:
space:
mode:
authorLinas Vepstas <linas@austin.ibm.com>2006-07-10 04:44:46 -0700
committerLinus Torvalds <torvalds@g5.osdl.org>2006-07-10 13:24:21 -0700
commit82081797b7d72108a47c82997349d1ea6a3eb3d5 (patch)
tree9066f303de9ad1f92d65800171eb61f05dab15d4 /drivers/pci/probe.c
parente01af0384f54023b4548b7742952da2ffcafd4cd (diff)
downloadkernel_samsung_aries-82081797b7d72108a47c82997349d1ea6a3eb3d5.zip
kernel_samsung_aries-82081797b7d72108a47c82997349d1ea6a3eb3d5.tar.gz
kernel_samsung_aries-82081797b7d72108a47c82997349d1ea6a3eb3d5.tar.bz2
[PATCH] pci: initialize struct pci_dev.error_state
The pci channel state is currently uninitialized, thus there are two ways of indicating that "everything's OK": 0 and 1. This is a bit of a burden. If a devce driver wants to check if the pci channel is in a working or a disconnected state, the driver writer must perform checks similar to if((pdev->error_state != 0) && (pdev->error_state != pci_channel_io_normal)) { whatever(); } which is rather akward. The first check is needed because stuct pci_dev is inited to all-zeros. The scond is needed because the error recovery will set the state to pci_channel_io_normal (which is not zero). This patch fixes this awkwardness. Signed-off-by: Linas Vepstas <linas@austin.ibm.com> Cc: Greg KH <greg@kroah.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'drivers/pci/probe.c')
-rw-r--r--drivers/pci/probe.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/pci/probe.c b/drivers/pci/probe.c
index f89dbc3..c5a58d1 100644
--- a/drivers/pci/probe.c
+++ b/drivers/pci/probe.c
@@ -815,6 +815,7 @@ pci_scan_device(struct pci_bus *bus, int devfn)
dev->vendor = l & 0xffff;
dev->device = (l >> 16) & 0xffff;
dev->cfg_size = pci_cfg_space_size(dev);
+ dev->error_state = pci_channel_io_normal;
/* Assume 32-bit PCI; let 64-bit PCI cards (which are far rarer)
set this higher, assuming the system even supports it. */