From: Niklas Söderlund Date: Fri, 9 Jul 2021 14:25:51 +0000 (+0200) Subject: media: rcar-vin: Fix error paths for rvin_mc_init() X-Git-Tag: io_uring-5.16-2021-11-09~18^2~325 X-Git-Url: https://git.kernel.dk/?a=commitdiff_plain;h=8f7112630bd0c7f43ae4fba9f054c74c1fba650a;p=linux-block.git media: rcar-vin: Fix error paths for rvin_mc_init() The error paths of rvin_mc_init() do not clean up properly, fix this. Signed-off-by: Niklas Söderlund Reviewed-by: Jacopo Mondi Signed-off-by: Sakari Ailus Signed-off-by: Mauro Carvalho Chehab --- diff --git a/drivers/media/platform/rcar-vin/rcar-core.c b/drivers/media/platform/rcar-vin/rcar-core.c index 6ea561fcd7a3..bea388075216 100644 --- a/drivers/media/platform/rcar-vin/rcar-core.c +++ b/drivers/media/platform/rcar-vin/rcar-core.c @@ -946,17 +946,23 @@ static int rvin_mc_init(struct rvin_dev *vin) if (ret) return ret; + ret = rvin_create_controls(vin, NULL); + if (ret < 0) + return ret; + ret = rvin_group_get(vin); if (ret) - return ret; + goto err_controls; ret = rvin_mc_parse_of_graph(vin); if (ret) - rvin_group_put(vin); + goto err_group; - ret = rvin_create_controls(vin, NULL); - if (ret < 0) - return ret; + return 0; +err_group: + rvin_group_put(vin); +err_controls: + rvin_free_controls(vin); return ret; }