Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

Merge tag 'pci-v3.12-fixes-1' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci

Pull PCI fix from Bjorn Helgaas:
"We merged what was intended to be an MMCONFIG cleanup, but in fact,
for systems without _CBA (which is almost everything), it broke
extended config space for domain 0 and it broke all config space for
other domains.

This reverts the change"

* tag 'pci-v3.12-fixes-1' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci:
Revert "x86/PCI: MMCONFIG: Check earlier for MMCONFIG region at address zero"

+6 -1
+6 -1
arch/x86/pci/mmconfig-shared.c
··· 700 700 if (!(pci_probe & PCI_PROBE_MMCONF) || pci_mmcfg_arch_init_failed) 701 701 return -ENODEV; 702 702 703 - if (start > end || !addr) 703 + if (start > end) 704 704 return -EINVAL; 705 705 706 706 mutex_lock(&pci_mmcfg_lock); ··· 714 714 cfg->segment, cfg->start_bus, cfg->end_bus); 715 715 mutex_unlock(&pci_mmcfg_lock); 716 716 return -EEXIST; 717 + } 718 + 719 + if (!addr) { 720 + mutex_unlock(&pci_mmcfg_lock); 721 + return -EINVAL; 717 722 } 718 723 719 724 rc = -EBUSY;