x86, pci: Add sanity check for PCI fixed bar probing
authorJacob Pan <jacob.jun.pan@intel.com>
Wed, 24 Feb 2010 17:42:50 +0000 (09:42 -0800)
committerH. Peter Anvin <hpa@zytor.com>
Wed, 24 Feb 2010 19:01:34 +0000 (11:01 -0800)
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>
arch/x86/pci/mrst.c

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