[PATCH 1/2] pci: Arch hook to determine config space size
brking at us.ibm.com
brking at us.ibm.com
Sat Jan 29 01:56:17 EST 2005
When working with a PCI-X Mode 2 adapter on a PCI-X Mode 1 PPC64
system, the current code used to determine the config space size
of a device results in a PCI Master abort and an EEH error, resulting
in the device being taken offline. This patch adds the ability for
arch specific code to override part of the config space size
determination to fix this.
Signed-off-by: Brian King <brking at us.ibm.com>
---
linux-2.6.11-rc2-bk5-bjking1/drivers/pci/probe.c | 4 ++++
1 files changed, 4 insertions(+)
diff -puN drivers/pci/probe.c~pci_arch_cfg_space_size drivers/pci/probe.c
--- linux-2.6.11-rc2-bk5/drivers/pci/probe.c~pci_arch_cfg_space_size 2005-01-27 16:56:46.000000000 -0600
+++ linux-2.6.11-rc2-bk5-bjking1/drivers/pci/probe.c 2005-01-27 16:56:46.000000000 -0600
@@ -627,6 +627,8 @@ static void pci_release_dev(struct devic
kfree(pci_dev);
}
+int __attribute__ ((weak)) pcibios_exp_cfg_space(struct pci_dev *dev) { return 1; }
+
/**
* pci_cfg_space_size - get the configuration space size of the PCI device.
*
@@ -653,6 +655,8 @@ static int pci_cfg_space_size(struct pci
goto fail;
}
+ if (!pcibios_exp_cfg_space(dev))
+ goto fail;
if (pci_read_config_dword(dev, 256, &status) != PCIBIOS_SUCCESSFUL)
goto fail;
if (status == 0xffffffff)
_
More information about the Linuxppc64-dev
mailing list