Skip to content

Commit

Permalink
Revert "x86/PCI: MMCONFIG: Check earlier for MMCONFIG region at addre…
Browse files Browse the repository at this point in the history
…ss zero"

This reverts commit 07f9b61.

07f9b61 was intended to be a cleanup that didn't change anything, but in
fact, for systems without _CBA (which is almost everything), it broke
extended config space for domain 0 and all config space for other domains.

Reference: http://lkml.kernel.org/r/20131004011806.GE20450@dangermouse.emea.sgi.com
Reported-by: Hedi Berriche <hedi@sgi.com>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
  • Loading branch information
Bjorn Helgaas committed Oct 4, 2013
1 parent 4a10c2a commit 67d470e
Showing 1 changed file with 6 additions and 1 deletion.
7 changes: 6 additions & 1 deletion arch/x86/pci/mmconfig-shared.c
Original file line number Diff line number Diff line change
Expand Up @@ -700,7 +700,7 @@ int pci_mmconfig_insert(struct device *dev, u16 seg, u8 start, u8 end,
if (!(pci_probe & PCI_PROBE_MMCONF) || pci_mmcfg_arch_init_failed)
return -ENODEV;

if (start > end || !addr)
if (start > end)
return -EINVAL;

mutex_lock(&pci_mmcfg_lock);
Expand All @@ -716,6 +716,11 @@ int pci_mmconfig_insert(struct device *dev, u16 seg, u8 start, u8 end,
return -EEXIST;
}

if (!addr) {
mutex_unlock(&pci_mmcfg_lock);
return -EINVAL;
}

rc = -EBUSY;
cfg = pci_mmconfig_alloc(seg, start, end, addr);
if (cfg == NULL) {
Expand Down

0 comments on commit 67d470e

Please sign in to comment.