Commit 1e4f4208 authored by Boris Brezillon's avatar Boris Brezillon

mtd: maps: physmap: Check mtd_device_{parse_register, unregister}() ret code

mtd_device_parse_register() and mtd_device_unregister() can fail,
check their return code and propagate the error to the upper layer
if needed.
Signed-off-by: default avatarBoris Brezillon <boris.brezillon@bootlin.com>
Reviewed-by: default avatarRicardo Ribalda Delgado <ricardo.ribalda@gmail.com>
Acked-by: default avatarLinus Walleij <linus.walleij@linaro.org>
parent 51b436a2
...@@ -35,7 +35,7 @@ static int physmap_flash_remove(struct platform_device *dev) ...@@ -35,7 +35,7 @@ static int physmap_flash_remove(struct platform_device *dev)
{ {
struct physmap_flash_info *info; struct physmap_flash_info *info;
struct physmap_flash_data *physmap_data; struct physmap_flash_data *physmap_data;
int i; int i, err;
info = platform_get_drvdata(dev); info = platform_get_drvdata(dev);
if (info == NULL) if (info == NULL)
...@@ -44,7 +44,10 @@ static int physmap_flash_remove(struct platform_device *dev) ...@@ -44,7 +44,10 @@ static int physmap_flash_remove(struct platform_device *dev)
physmap_data = dev_get_platdata(&dev->dev); physmap_data = dev_get_platdata(&dev->dev);
if (info->cmtd) { if (info->cmtd) {
mtd_device_unregister(info->cmtd); err = mtd_device_unregister(info->cmtd);
if (err)
return err;
if (info->cmtd != info->mtds[0]) if (info->cmtd != info->mtds[0])
mtd_concat_destroy(info->cmtd); mtd_concat_destroy(info->cmtd);
} }
...@@ -194,8 +197,12 @@ static int physmap_flash_probe(struct platform_device *dev) ...@@ -194,8 +197,12 @@ static int physmap_flash_probe(struct platform_device *dev)
part_types = physmap_data->part_probe_types ? : part_probe_types; part_types = physmap_data->part_probe_types ? : part_probe_types;
mtd_device_parse_register(info->cmtd, part_types, NULL, err = mtd_device_parse_register(info->cmtd, part_types, NULL,
physmap_data->parts, physmap_data->nr_parts); physmap_data->parts,
physmap_data->nr_parts);
if (err)
goto err_out;
return 0; return 0;
err_out: err_out:
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment