diff options
author | 2020-12-15 15:11:07 -0600 | |
---|---|---|
committer | 2020-12-15 15:11:07 -0600 | |
commit | 1a76dceaf4268f904292ca126d1cb9af091fd516 (patch) | |
tree | e98e8b189cfd2bf460f469de276977c141a7899d | |
parent | Merge branch 'pci/err' (diff) | |
parent | PCI: Fix pci_slot_release() NULL pointer dereference (diff) | |
download | wireguard-linux-1a76dceaf4268f904292ca126d1cb9af091fd516.tar.xz wireguard-linux-1a76dceaf4268f904292ca126d1cb9af091fd516.zip |
Merge branch 'pci/hotplug'
- Remove unneeded break in ibmphp (Bjorn Helgaas)
- Fix pci_slot_release() NULL pointer dereference (Jubin Zhong)
* pci/hotplug:
PCI: Fix pci_slot_release() NULL pointer dereference
PCI: ibmphp: Remove unneeded break
Diffstat (limited to '')
-rw-r--r-- | drivers/pci/hotplug/ibmphp_pci.c | 2 | ||||
-rw-r--r-- | drivers/pci/slot.c | 6 |
2 files changed, 3 insertions, 5 deletions
diff --git a/drivers/pci/hotplug/ibmphp_pci.c b/drivers/pci/hotplug/ibmphp_pci.c index e22d023f91d1..754c3f23282e 100644 --- a/drivers/pci/hotplug/ibmphp_pci.c +++ b/drivers/pci/hotplug/ibmphp_pci.c @@ -294,7 +294,6 @@ int ibmphp_configure_card(struct pci_func *func, u8 slotno) default: err("MAJOR PROBLEM!!!!, header type not supported? %x\n", hdr_type); return -ENXIO; - break; } /* end of switch */ } /* end of valid device */ } /* end of for */ @@ -1509,7 +1508,6 @@ static int unconfigure_boot_card(struct slot *slot_cur) default: err("MAJOR PROBLEM!!!! Cannot read device's header\n"); return -1; - break; } /* end of switch */ } /* end of valid device */ } /* end of for */ diff --git a/drivers/pci/slot.c b/drivers/pci/slot.c index 3861505741e6..ed2077e7470a 100644 --- a/drivers/pci/slot.c +++ b/drivers/pci/slot.c @@ -272,6 +272,9 @@ placeholder: goto err; } + INIT_LIST_HEAD(&slot->list); + list_add(&slot->list, &parent->slots); + err = kobject_init_and_add(&slot->kobj, &pci_slot_ktype, NULL, "%s", slot_name); if (err) { @@ -279,9 +282,6 @@ placeholder: goto err; } - INIT_LIST_HEAD(&slot->list); - list_add(&slot->list, &parent->slots); - down_read(&pci_bus_sem); list_for_each_entry(dev, &parent->devices, bus_list) if (PCI_SLOT(dev->devfn) == slot_nr) |