On Mon, Oct 28, 2019 at 11:27 AM Jae Hyun Yoo <jae.hyun.yoo@xxxxxxxxxxxxxxx> wrote: > > Hi Navid, > > On 10/25/2019 9:25 PM, Navid Emamdoost wrote: > > In the implementation of aspeed_video_probe() the allocated memory for > > video should be released in case of failure. Release video if either > > devm_ioremap_resource() or aspeed_video_init() or > > aspeed_video_setup_video() fails. > > > > Fixes: d2b4387f3bdf ("media: platform: Add Aspeed Video Engine driver") > > Signed-off-by: Navid Emamdoost <navid.emamdoost@xxxxxxxxx> > > --- > > drivers/media/platform/aspeed-video.c | 14 ++++++++++---- > > 1 file changed, 10 insertions(+), 4 deletions(-) > > > > diff --git a/drivers/media/platform/aspeed-video.c b/drivers/media/platform/aspeed-video.c > > index eb12f3793062..8c473356132d 100644 > > --- a/drivers/media/platform/aspeed-video.c > > +++ b/drivers/media/platform/aspeed-video.c > > @@ -1663,18 +1663,24 @@ static int aspeed_video_probe(struct platform_device *pdev) > > > > video->base = devm_ioremap_resource(video->dev, res); > > > > - if (IS_ERR(video->base)) > > - return PTR_ERR(video->base); > > + if (IS_ERR(video->base)) { > > + rc = PTR_ERR(video->base); > > + goto free_video; > > + } > > > > rc = aspeed_video_init(video); > > if (rc) > > - return rc; > > + goto free_video; > > > > rc = aspeed_video_setup_video(video); > > if (rc) > > - return rc; > > + goto free_video; > > > > return 0; > > + > > +free_video: > > + kfree(video); > > + return rc; > > } > > > > static int aspeed_video_remove(struct platform_device *pdev) > > > > Can we simply change kzalloc in aspeed_video_probe with devm_kzalloc > so that we don't need to take care of freeing of video? I think it would > be more simpler. Sounds a neat plan, will send v2. > > Cheers, > > Jae -- Navid.