On Mon, Mar 20, 2023 at 12:38 PM Hans de Goede <hdegoede@xxxxxxxxxx> wrote: > > On auxiliary_device_init(auxdev) failure we need to do the exact same > cleanup steps as on device.release(), so use the intel_vsec_dev_release() > callback for this. Sounds correct to me. Reviewed-by: Andy Shevchenko <andy.shevchenko@xxxxxxxxx> > Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> > --- > drivers/platform/x86/intel/vsec.c | 6 +----- > 1 file changed, 1 insertion(+), 5 deletions(-) > > diff --git a/drivers/platform/x86/intel/vsec.c b/drivers/platform/x86/intel/vsec.c > index 2311c16cb975..cf2a20088f6b 100644 > --- a/drivers/platform/x86/intel/vsec.c > +++ b/drivers/platform/x86/intel/vsec.c > @@ -169,11 +169,7 @@ int intel_vsec_add_aux(struct pci_dev *pdev, struct device *parent, > > ret = auxiliary_device_init(auxdev); > if (ret < 0) { > - mutex_lock(&vsec_ida_lock); > - ida_free(intel_vsec_dev->ida, auxdev->id); > - mutex_unlock(&vsec_ida_lock); > - kfree(intel_vsec_dev->resource); > - kfree(intel_vsec_dev); > + intel_vsec_dev_release(&auxdev->dev); > return ret; > } > > -- > 2.39.1 > -- With Best Regards, Andy Shevchenko