diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2010-05-15 08:28:23 +0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2010-05-15 08:28:23 +0400 |
commit | ecbb458a484fd9c455f8feb36c87727e71b4ac1a (patch) | |
tree | 98d5708d66ae4a5673ff64ce7e6e4b71bc1800a5 /arch | |
parent | 16a2164bb03612efe79a76c73da6da44445b9287 (diff) | |
parent | e9b1d5d0ff4d3ae86050dc4c91b3147361c7af9e (diff) | |
download | linux-ecbb458a484fd9c455f8feb36c87727e71b4ac1a.tar.xz |
Merge branch 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip
* 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
x86, mrst: Don't blindly access extended config space
Diffstat (limited to 'arch')
-rw-r--r-- | arch/x86/pci/mrst.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/arch/x86/pci/mrst.c b/arch/x86/pci/mrst.c index 8bf2fcb88d04..1cdc02cf8fa4 100644 --- a/arch/x86/pci/mrst.c +++ b/arch/x86/pci/mrst.c @@ -247,6 +247,10 @@ static void __devinit pci_fixed_bar_fixup(struct pci_dev *dev) u32 size; int i; + /* Must have extended configuration space */ + if (dev->cfg_size < PCIE_CAP_OFFSET + 4) + return; + /* Fixup the BAR sizes for fixed BAR devices and make them unmoveable */ offset = fixed_bar_cap(dev->bus, dev->devfn); if (!offset || PCI_DEVFN(2, 0) == dev->devfn || |