* [GIT PULL] One additional x86 fix for 2.6.34
@ 2010-05-14 22:32 H. Peter Anvin
0 siblings, 0 replies; only message in thread
From: H. Peter Anvin @ 2010-05-14 22:32 UTC (permalink / raw)
To: Linus Torvalds
Cc: Linux Kernel Mailing List, H. Peter Anvin, Ingo Molnar,
Thomas Gleixner, Petr Vandrovec, Jacob Pan, Jesse Barnes,
Andrew Morton
Hi Linus,
One additional fix for the 2.6.34 tree. It missed my push from
earlier today because I was waiting for confirmation from the original
reporter that it indeed solves the problem.
The following changes since commit 7f284d3cc96e02468a42e045f77af11e5ff8b095:
Frank Arnold (1):
x86, cacheinfo: Turn off L3 cache index disable feature in virtualized environments
are available in the git repository at:
ssh://master.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip.git x86-fixes-for-linus
H. Peter Anvin (1):
x86, mrst: Don't blindly access extended config space
arch/x86/pci/mrst.c | 4 ++++
1 files changed, 4 insertions(+), 0 deletions(-)
commit e9b1d5d0ff4d3ae86050dc4c91b3147361c7af9e
Author: H. Peter Anvin <hpa@linux.intel.com>
Date: Fri May 14 13:55:57 2010 -0700
x86, mrst: Don't blindly access extended config space
Do not blindly access extended configuration space unless we actively
know we're on a Moorestown platform. The fixed-size BAR capability
lives in the extended configuration space, and thus is not applicable
if the configuration space isn't appropriately sized.
This fixes booting certain VMware configurations with CONFIG_MRST=y.
Moorestown will add a fake PCI-X 266 capability to advertise the
presence of extended configuration space.
Reported-and-tested-by: Petr Vandrovec <petr@vandrovec.name>
Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
Acked-by: Jacob Pan <jacob.jun.pan@intel.com>
Acked-by: Jesse Barnes <jbarnes@virtuousgeek.org>
LKML-Reference: <AANLkTiltKUa3TrKR1M51eGw8FLNoQJSLT0k0_K5X3-OJ@mail.gmail.com>
diff --git a/arch/x86/pci/mrst.c b/arch/x86/pci/mrst.c
index 8bf2fcb..1cdc02c 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 ||
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2010-05-14 22:33 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2010-05-14 22:32 [GIT PULL] One additional x86 fix for 2.6.34 H. Peter Anvin
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
Powered by JetHome