forked from Minki/linux
x86/PCI: MMCONFIG: Check earlier for MMCONFIG region at address zero
We can check for addr being zero earlier and thus avoid the mutex_unlock() cleanup path. [bhelgaas: drop warning printk] Signed-off-by: ethan.zhao <ethan.zhao@oracle.com> Signed-off-by: Bjorn Helgaas <bhelgaas@google.com> Acked-by: Yinghai Lu <yinghai@kernel.org>
This commit is contained in:
parent
56039e658c
commit
07f9b61c39
@ -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)
|
if (!(pci_probe & PCI_PROBE_MMCONF) || pci_mmcfg_arch_init_failed)
|
||||||
return -ENODEV;
|
return -ENODEV;
|
||||||
|
|
||||||
if (start > end)
|
if (start > end || !addr)
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
|
|
||||||
mutex_lock(&pci_mmcfg_lock);
|
mutex_lock(&pci_mmcfg_lock);
|
||||||
@ -716,11 +716,6 @@ int pci_mmconfig_insert(struct device *dev, u16 seg, u8 start, u8 end,
|
|||||||
return -EEXIST;
|
return -EEXIST;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!addr) {
|
|
||||||
mutex_unlock(&pci_mmcfg_lock);
|
|
||||||
return -EINVAL;
|
|
||||||
}
|
|
||||||
|
|
||||||
rc = -EBUSY;
|
rc = -EBUSY;
|
||||||
cfg = pci_mmconfig_alloc(seg, start, end, addr);
|
cfg = pci_mmconfig_alloc(seg, start, end, addr);
|
||||||
if (cfg == NULL) {
|
if (cfg == NULL) {
|
||||||
|
Loading…
Reference in New Issue
Block a user