|
@@ -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)
|
|
|
+ if (start > end || !addr)
|
|
|
return -EINVAL;
|
|
|
|
|
|
mutex_lock(&pci_mmcfg_lock);
|
|
@@ -716,11 +716,6 @@ 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) {
|