From: Andi Kleen Date: Fri, 3 Feb 2006 20:51:29 +0000 (+0100) Subject: [PATCH] x86_64: Fix zero mcfg entry workaround on x86-64 X-Git-Tag: v2.6.16-rc3~186 X-Git-Url: https://openfabrics.org/gitweb/?a=commitdiff_plain;h=1de6bf33bc4601d856c286ad5c7d515468e24bbb;p=~emulex%2Finfiniband.git [PATCH] x86_64: Fix zero mcfg entry workaround on x86-64 I broke this earlier when moving the patch from i386 to x86-64. Need to return the virtual address here, not the physical address. This fixes some boot time crashes on x86-64. Cc: gregkh@suse.de Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds --- diff --git a/arch/x86_64/pci/mmconfig.c b/arch/x86_64/pci/mmconfig.c index 00d4ddbf980..b4a3fe4ec24 100644 --- a/arch/x86_64/pci/mmconfig.c +++ b/arch/x86_64/pci/mmconfig.c @@ -46,7 +46,7 @@ static char __iomem *get_virt(unsigned int seg, unsigned bus) if (pci_mmcfg_config_num == 1 && cfg->pci_segment_group_number == 0 && (cfg->start_bus_number | cfg->end_bus_number) == 0) - return cfg->base_address; + return pci_mmcfg_virt[0].virt; /* Fall back to type 0 */ return 0;