summary refs log tree commit diff
path: root/drivers/parisc
diff options
context:
space:
mode:
authorBjorn Helgaas <bhelgaas@google.com>2012-08-16 16:57:22 -0600
committerBjorn Helgaas <bhelgaas@google.com>2012-08-22 11:34:38 -0600
commitf5725f4d3d9a69c647d6d2d504bd0ae87d9a08df (patch)
tree16f36a32ca774df2204dce9b053a28a6579b77a1 /drivers/parisc
parentfd3768349b0ba7bac9e102a8f146f783a03926fe (diff)
downloadlinux-f5725f4d3d9a69c647d6d2d504bd0ae87d9a08df.tar.gz
parisc/PCI: Enable PERR/SERR on all devices
Previously, we enabled PERR & SERR for the first device on the bus, but
left other devices alone.

Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Acked-by: Yinghai Lu <yinghai@kernel.org>
CC: linux-parisc@vger.kernel.org
Diffstat (limited to 'drivers/parisc')
-rw-r--r--drivers/parisc/lba_pci.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/parisc/lba_pci.c b/drivers/parisc/lba_pci.c
index 4f9cf2456f4e..4ce57c92e559 100644
--- a/drivers/parisc/lba_pci.c
+++ b/drivers/parisc/lba_pci.c
@@ -630,6 +630,7 @@ static void
 lba_fixup_bus(struct pci_bus *bus)
 {
 	struct list_head *ln;
+	struct pci_dev *dev;
 #ifdef FBB_SUPPORT
 	u16 status;
 #endif
@@ -712,8 +713,8 @@ lba_fixup_bus(struct pci_bus *bus)
 
 	list_for_each(ln, &bus->devices) {
 		int i;
-		struct pci_dev *dev = pci_dev_b(ln);
 
+		dev = pci_dev_b(ln);
 		DBG("lba_fixup_bus() %s\n", pci_name(dev));
 
 		/* Virtualize Device/Bridge Resources. */
@@ -771,6 +772,7 @@ lba_fixup_bus(struct pci_bus *bus)
 
 	/* Lastly enable FBB/PERR/SERR on all devices too */
 	list_for_each(ln, &bus->devices) {
+		dev = pci_dev_b(ln);
 		(void) pci_read_config_word(dev, PCI_COMMAND, &status);
 		status |= PCI_COMMAND_PARITY | PCI_COMMAND_SERR | fbb_enable;
 		(void) pci_write_config_word(dev, PCI_COMMAND, status);