Prev: virtio_blk: Use blk-iopoll for host->guest notify
Next: + cpufreq-revert-remove-rwsem-lock-from-cpufreq_gov_stop-call-second-c all-site.patch added to -mm tree
From: H. Peter Anvin on 14 May 2010 18:40 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(a)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(a)vandrovec.name> Signed-off-by: H. Peter Anvin <hpa(a)linux.intel.com> Acked-by: Jacob Pan <jacob.jun.pan(a)intel.com> Acked-by: Jesse Barnes <jbarnes(a)virtuousgeek.org> LKML-Reference: <AANLkTiltKUa3TrKR1M51eGw8FLNoQJSLT0k0_K5X3-OJ(a)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 || -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo(a)vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/ |