Hi Inki, On Fri, May 19, 2023 at 02:26:40AM +0200, Andi Shyti wrote: > Hi Inki, > > On Fri, May 19, 2023 at 09:04:07AM +0900, Inki Dae wrote: > > Fix a wrong error return by dropping an error return. > > > > When vidi driver is remvoed, if ctx->raw_edid isn't same as fake_edid_info > > then only what we have to is to free ctx->raw_edid so that driver removing > > can work correctly - it's not an error case. > > > > Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> > > --- > > drivers/gpu/drm/exynos/exynos_drm_vidi.c | 2 -- > > 1 file changed, 2 deletions(-) > > > > diff --git a/drivers/gpu/drm/exynos/exynos_drm_vidi.c b/drivers/gpu/drm/exynos/exynos_drm_vidi.c > > index 4d56c8c799c5..f5e1adfcaa51 100644 > > --- a/drivers/gpu/drm/exynos/exynos_drm_vidi.c > > +++ b/drivers/gpu/drm/exynos/exynos_drm_vidi.c > > @@ -469,8 +469,6 @@ static int vidi_remove(struct platform_device *pdev) > > if (ctx->raw_edid != (struct edid *)fake_edid_info) { > > kfree(ctx->raw_edid); > > ctx->raw_edid = NULL; > > - > > - return -EINVAL; > > It doesn't look right to me, I think the correct patch should be: > > - if (ctx->raw_edid != (struct edid *)fake_edid_info) { > - kfree(ctx->raw_edid); > - ctx->raw_edid = NULL; > - > - return -EINVAL; > - } > - > + ctx->raw_edid = NULL; > > because "ctx->raw_edid" points to a non allocated memory in the > .data segment and you cannot free it. > > A follow-up cleanup should be to remove the "const" from > fake_edid_info because you are assigning its address to pointers > (raw_edid), so that what's the point for having it const? You are > just fooling the compiler :) please ignore, this is what happens when reading patches at 2.26am, that a "!=" becomes "==". The patch is correct, still some cleanups is needed here, though. Reviewed-by: Andi Shyti <andi.shyti@xxxxxxxxxx> Andi PS I was actually sleeping and this woke me up :) > Andi > > > } > > > > component_del(&pdev->dev, &vidi_component_ops); > > -- > > 2.25.1