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
This commit is contained in:
Bjorn Helgaas 2012-08-16 16:57:22 -06:00
parent fd3768349b
commit f5725f4d3d

View 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);