On Fri, Oct 04, 2024 at 06:22:40PM +0300, Ilpo Järvinen wrote: > pci_create_slot() has an if () which can be made simpler by splitting > it into two parts. In order to not duplicate error handling, add a new > label too to handle kobj put. > > Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@xxxxxxxxxxxxxxx> Applied to pci/misc for v6.13, thank you! > --- > drivers/pci/slot.c | 20 +++++++++++--------- > 1 file changed, 11 insertions(+), 9 deletions(-) > > diff --git a/drivers/pci/slot.c b/drivers/pci/slot.c > index 0f87cade10f7..9ac5a4f26794 100644 > --- a/drivers/pci/slot.c > +++ b/drivers/pci/slot.c > @@ -244,12 +244,13 @@ struct pci_slot *pci_create_slot(struct pci_bus *parent, int slot_nr, > slot = get_slot(parent, slot_nr); > if (slot) { > if (hotplug) { > - if ((err = slot->hotplug ? -EBUSY : 0) > - || (err = rename_slot(slot, name))) { > - kobject_put(&slot->kobj); > - slot = NULL; > - goto err; > + if (slot->hotplug) { > + err = -EBUSY; > + goto put_slot; > } > + err = rename_slot(slot, name); > + if (err) > + goto put_slot; > } > goto out; > } > @@ -278,10 +279,8 @@ struct pci_slot *pci_create_slot(struct pci_bus *parent, int slot_nr, > > err = kobject_init_and_add(&slot->kobj, &pci_slot_ktype, NULL, > "%s", slot_name); > - if (err) { > - kobject_put(&slot->kobj); > - goto err; > - } > + if (err) > + goto put_slot; > > down_read(&pci_bus_sem); > list_for_each_entry(dev, &parent->devices, bus_list) > @@ -296,6 +295,9 @@ struct pci_slot *pci_create_slot(struct pci_bus *parent, int slot_nr, > kfree(slot_name); > mutex_unlock(&pci_slot_mutex); > return slot; > + > +put_slot: > + kobject_put(&slot->kobj); > err: > slot = ERR_PTR(err); > goto out; > -- > 2.39.5 >