diff options
Diffstat (limited to 'arch/sparc64/kernel/pci_psycho.c')
-rw-r--r-- | arch/sparc64/kernel/pci_psycho.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/arch/sparc64/kernel/pci_psycho.c b/arch/sparc64/kernel/pci_psycho.c index 2e5d40a26dbd..154c03290d5d 100644 --- a/arch/sparc64/kernel/pci_psycho.c +++ b/arch/sparc64/kernel/pci_psycho.c | |||
@@ -118,6 +118,10 @@ static int psycho_read_pci_cfg(struct pci_bus *bus_dev, unsigned int devfn, | |||
118 | u16 tmp16; | 118 | u16 tmp16; |
119 | u8 tmp8; | 119 | u8 tmp8; |
120 | 120 | ||
121 | if (bus_dev == pbm->pci_bus && devfn == 0x00) | ||
122 | return pci_host_bridge_read_pci_cfg(bus_dev, devfn, where, | ||
123 | size, value); | ||
124 | |||
121 | switch (size) { | 125 | switch (size) { |
122 | case 1: | 126 | case 1: |
123 | *value = 0xff; | 127 | *value = 0xff; |
@@ -171,6 +175,9 @@ static int psycho_write_pci_cfg(struct pci_bus *bus_dev, unsigned int devfn, | |||
171 | unsigned char bus = bus_dev->number; | 175 | unsigned char bus = bus_dev->number; |
172 | u32 *addr; | 176 | u32 *addr; |
173 | 177 | ||
178 | if (bus_dev == pbm->pci_bus && devfn == 0x00) | ||
179 | return pci_host_bridge_write_pci_cfg(bus_dev, devfn, where, | ||
180 | size, value); | ||
174 | addr = psycho_pci_config_mkaddr(pbm, bus, devfn, where); | 181 | addr = psycho_pci_config_mkaddr(pbm, bus, devfn, where); |
175 | if (!addr) | 182 | if (!addr) |
176 | return PCIBIOS_SUCCESSFUL; | 183 | return PCIBIOS_SUCCESSFUL; |