x86, pci: Add sanity check for PCI fixed bar probing

While probing for the PCI fixed BAR capability in the extended PCI
configuration space we need to make sure raw_pci_ext_ops is
actually initialized.

Signed-off-by: Jacob Pan <jacob.jun.pan@intel.com>
LKML-Reference: <43F901BD926A4E43B106BF17856F0755A321E8F7@orsmsx508.amr.corp.intel.com>
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
This commit is contained in:
Jacob Pan 2010-02-24 09:42:50 -08:00 committed by H. Peter Anvin
parent 9eeeb09edb
commit c54113823c

View File

@ -57,6 +57,10 @@ static int fixed_bar_cap(struct pci_bus *bus, unsigned int devfn)
u32 pcie_cap = 0, cap_data; u32 pcie_cap = 0, cap_data;
pos = PCIE_CAP_OFFSET; pos = PCIE_CAP_OFFSET;
if (!raw_pci_ext_ops)
return 0;
while (pos) { while (pos) {
if (raw_pci_ext_ops->read(pci_domain_nr(bus), bus->number, if (raw_pci_ext_ops->read(pci_domain_nr(bus), bus->number,
devfn, pos, 4, &pcie_cap)) devfn, pos, 4, &pcie_cap))