… … > +static int mpam_msc_drv_probe(struct platform_device *pdev) > +{ … > + } while (0); > + mutex_unlock(&mpam_list_lock); > + > + if (!err) { > + /* Create RIS entries described by firmware */ > + if (!acpi_disabled) > + err = acpi_mpam_parse_resources(msc, plat_data); > + else > + err = mpam_dt_parse_resources(msc, plat_data); > + } > + > + if (!err && fw_num_msc == mpam_num_msc) > + mpam_discovery_complete(); > + > + if (err && msc) > + mpam_msc_drv_remove(pdev); > + > + return err; > +} … * Would you like to integrate anything from the following source code variant? if (!err) /* Create RIS entries described by firmware */ err = acpi_disabled ? mpam_dt_parse_resources(msc, plat_data) : acpi_mpam_parse_resources(msc, plat_data); if (err) { if (msc) mpam_msc_drv_remove(pdev); } else { if (fw_num_msc == mpam_num_msc) mpam_discovery_complete(); } * How do you think about to increase the application of scope-based resource management at further places? Regards, Markus