Re: Regression: 2.6.34 boot fails on E5405 system, bisected: de08e2c26

From: Ben Greear
Date: Wed Jul 14 2010 - 12:09:52 EST


On 07/14/2010 08:36 AM, Pan, Jacob jun wrote:
what is the config size of 10.1?
ls -l /sys/bus/pci/devices/0000:00:10.1/config

if that is 256, it might be related to this patch.

From e9b1d5d0ff4d3ae86050dc4c91b3147361c7af9e Mon Sep 17 00:00:00 2001
From: H. Peter Anvin<hpa@xxxxxxxxxxxxxxx>
Date: Fri, 14 May 2010 13:55:57 -0700
Subject: [PATCH] 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.

I'll try this in a bit, but shouldn't we also check for no-progress in
that while loop and bail out in that case? No reason to hang on
boot just because the bios or whatever is busted?

Thanks,
Ben


Reported-and-tested-by: Petr Vandrovec<petr@xxxxxxxxxxxxxx>
Signed-off-by: H. Peter Anvin<hpa@xxxxxxxxxxxxxxx>
Acked-by: Jacob Pan<jacob.jun.pan@xxxxxxxxx>
Acked-by: Jesse Barnes<jbarnes@xxxxxxxxxxxxxxxx>
LKML-Reference:<AANLkTiltKUa3TrKR1M51eGw8FLNoQJSLT0k0_K5X3-OJ@xxxxxxxxxxxxxx>
---
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 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 ||


--
Ben Greear <greearb@xxxxxxxxxxxxxxx>
Candela Technologies Inc http://www.candelatech.com
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/