Message ID | 20210413180253.2575451-3-niklas.soderlund+renesas@ragnatech.se |
---|---|
State | Superseded |
Headers | show |
Series | rcar-vin: Add r8a779a0 support | expand |
Hi Niklas, On Tue, Apr 13, 2021 at 08:02:44PM +0200, Niklas Söderlund wrote: > The error paths of rvin_mc_init() do not clean up properly, fix this. > > Signed-off-by: Niklas Söderlund <niklas.soderlund+renesas@ragnatech.se> > --- > drivers/media/platform/rcar-vin/rcar-core.c | 16 +++++++++++----- > 1 file changed, 11 insertions(+), 5 deletions(-) > > diff --git a/drivers/media/platform/rcar-vin/rcar-core.c b/drivers/media/platform/rcar-vin/rcar-core.c > index c798dc9409e4cdcd..d4932f7b42647ee1 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; Empty line maybe ? Reviewed-by: Jacopo Mondi <jacopo+renesas@jmondi.org> Thanks j > +err_group: > + rvin_group_put(vin); > +err_controls: > + rvin_free_controls(vin); > > return ret; > } > -- > 2.31.1 >
diff --git a/drivers/media/platform/rcar-vin/rcar-core.c b/drivers/media/platform/rcar-vin/rcar-core.c index c798dc9409e4cdcd..d4932f7b42647ee1 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; }
The error paths of rvin_mc_init() do not clean up properly, fix this. Signed-off-by: Niklas Söderlund <niklas.soderlund+renesas@ragnatech.se> --- drivers/media/platform/rcar-vin/rcar-core.c | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-)