mirror of
https://github.com/torvalds/linux.git
synced 2026-01-25 15:03:52 +08:00
mtd: Fix error handling in mtd_device_parse_register() error path
Check and log del_mtd_device() failures. Print an error message with pr_err() to prevent silent failures, but preserve the original error code instead of propagating the secondary error since del_mtd_device() is already in an error handling path. Signed-off-by: Wentao Liang <vulab@iscas.ac.cn> Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
This commit is contained in:
committed by
Miquel Raynal
parent
6697dae1e2
commit
2a6a44555f
@@ -1056,7 +1056,7 @@ int mtd_device_parse_register(struct mtd_info *mtd, const char * const *types,
|
||||
const struct mtd_partition *parts,
|
||||
int nr_parts)
|
||||
{
|
||||
int ret;
|
||||
int ret, err;
|
||||
|
||||
mtd_set_dev_defaults(mtd);
|
||||
|
||||
@@ -1108,8 +1108,11 @@ out:
|
||||
nvmem_unregister(mtd->otp_factory_nvmem);
|
||||
}
|
||||
|
||||
if (ret && device_is_registered(&mtd->dev))
|
||||
del_mtd_device(mtd);
|
||||
if (ret && device_is_registered(&mtd->dev)) {
|
||||
err = del_mtd_device(mtd);
|
||||
if (err)
|
||||
pr_err("Error when deleting MTD device (%d)\n", err);
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user