On Tue, 20 Oct 2026, Avi Weiss <[email protected]> wrote: > Hi Jani, > This complicates the if (!drm_edid) a bit further down, so might not > be worth it. > What do you think? Leave it, or should I try to rework it?
Mmmh. Right, very few places actually check for drm_edid_connector_update() return value, or do anything about it. > Cheers, > Avi > > > On Mon, 19 Oct 2026 at 16:38, Jani Nikula <[email protected]> wrote: >> >> On Mon, 12 Oct 2026, Avi Weiss <[email protected]> wrote: >> > If drm_edid_connector_update() fails, hdmi_get_modes() returns >> > without freeing the EDID allocated by drm_edid_read_ddc(). It's >> > an unlikely error path but nevertheless possible and should be >> > cleaned up fully. >> > >> > Free the EDID before returning, while keeping the existing return >> > value of 0. >> > >> > Fixes: f6e4f57fd90dc ("drm/exynos: hdmi: convert to struct drm_edid") >> > Signed-off-by: Avi Weiss <[email protected]> >> > --- >> > drivers/gpu/drm/exynos/exynos_hdmi.c | 4 +++- >> > 1 file changed, 3 insertions(+), 1 deletion(-) >> > >> > diff --git a/drivers/gpu/drm/exynos/exynos_hdmi.c >> > b/drivers/gpu/drm/exynos/exynos_hdmi.c >> > index d4fce39c2b61..386557a7f5e8 100644 >> > --- a/drivers/gpu/drm/exynos/exynos_hdmi.c >> > +++ b/drivers/gpu/drm/exynos/exynos_hdmi.c >> > @@ -893,8 +893,10 @@ static int hdmi_get_modes(struct drm_connector >> > *connector) >> > drm_edid = drm_edid_read_ddc(connector, hdata->ddc_adpt); >> > >> > ret = drm_edid_connector_update(connector, drm_edid); >> >> You could just move the drm_edid_free() call here to avoid duplicating >> it. >> >> > - if (ret) >> > + if (ret) { >> > + drm_edid_free(drm_edid); >> > return 0; >> > + } >> > >> > cec_notifier_set_phys_addr(hdata->notifier, >> > info->source_physical_address); >> > >> > >> > base-commit: 24a19b953e2a3d0ea5a8c4951a0ab8f32720c907 >> >> -- >> Jani Nikula, Intel -- Jani Nikula, Intel
