OSDN Git Service

parisc/PCI: Enable PERR/SERR on all devices
authorBjorn Helgaas <bhelgaas@google.com>
Thu, 16 Aug 2012 22:57:22 +0000 (16:57 -0600)
committerBjorn Helgaas <bhelgaas@google.com>
Wed, 22 Aug 2012 17:34:38 +0000 (11:34 -0600)
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
drivers/parisc/lba_pci.c

index 4f9cf24..4ce57c9 100644 (file)
@@ -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);