diff options
Diffstat (limited to 'arch/sparc64/kernel/pci_sun4v.c')
-rw-r--r-- | arch/sparc64/kernel/pci_sun4v.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/arch/sparc64/kernel/pci_sun4v.c b/arch/sparc64/kernel/pci_sun4v.c index a8c12c1e8039..52bd4563492d 100644 --- a/arch/sparc64/kernel/pci_sun4v.c +++ b/arch/sparc64/kernel/pci_sun4v.c | |||
@@ -612,6 +612,9 @@ static int pci_sun4v_read_pci_cfg(struct pci_bus *bus_dev, unsigned int devfn, | |||
612 | unsigned int func = PCI_FUNC(devfn); | 612 | unsigned int func = PCI_FUNC(devfn); |
613 | unsigned long ret; | 613 | unsigned long ret; |
614 | 614 | ||
615 | if (bus_dev == pbm->pci_bus && devfn == 0x00) | ||
616 | return pci_host_bridge_read_pci_cfg(bus_dev, devfn, where, | ||
617 | size, value); | ||
615 | if (pci_sun4v_out_of_range(pbm, bus, device, func)) { | 618 | if (pci_sun4v_out_of_range(pbm, bus, device, func)) { |
616 | ret = ~0UL; | 619 | ret = ~0UL; |
617 | } else { | 620 | } else { |
@@ -650,6 +653,9 @@ static int pci_sun4v_write_pci_cfg(struct pci_bus *bus_dev, unsigned int devfn, | |||
650 | unsigned int func = PCI_FUNC(devfn); | 653 | unsigned int func = PCI_FUNC(devfn); |
651 | unsigned long ret; | 654 | unsigned long ret; |
652 | 655 | ||
656 | if (bus_dev == pbm->pci_bus && devfn == 0x00) | ||
657 | return pci_host_bridge_write_pci_cfg(bus_dev, devfn, where, | ||
658 | size, value); | ||
653 | if (pci_sun4v_out_of_range(pbm, bus, device, func)) { | 659 | if (pci_sun4v_out_of_range(pbm, bus, device, func)) { |
654 | /* Do nothing. */ | 660 | /* Do nothing. */ |
655 | } else { | 661 | } else { |