mirror of
https://github.com/torvalds/linux.git
synced 2026-01-24 23:16:46 +00:00
EDAC/igen6: Fix error handling in igen6_edac driver
The igen6_edac driver calls device_initialize() for all memory controllers in igen6_register_mci(), but misses corresponding put_device() calls in error paths and during normal shutdown in igen6_unregister_mcis(). Adding the missing put_device() calls improves code readability and ensures proper reference counting for the device structure. Found by code review. Signed-off-by: Ma Ke <make24@iscas.ac.cn> Reviewed-by: Qiuxu Zhuo <qiuxu.zhuo@intel.com> Signed-off-by: Tony Luck <tony.luck@intel.com> Link: https://patch.msgid.link/20251105090244.23327-1-make24@iscas.ac.cn
This commit is contained in:
@@ -1300,6 +1300,7 @@ static int igen6_register_mci(int mc, void __iomem *window, struct pci_dev *pdev
|
||||
imc->mci = mci;
|
||||
return 0;
|
||||
fail3:
|
||||
put_device(&imc->dev);
|
||||
mci->pvt_info = NULL;
|
||||
kfree(mci->ctl_name);
|
||||
fail2:
|
||||
@@ -1326,6 +1327,7 @@ static void igen6_unregister_mcis(void)
|
||||
kfree(mci->ctl_name);
|
||||
mci->pvt_info = NULL;
|
||||
edac_mc_free(mci);
|
||||
put_device(&imc->dev);
|
||||
iounmap(imc->window);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user