drm/bridge: adv7511: Properly update EDID when no EDID was found
authorLars-Peter Clausen <lars@metafoo.de>
Tue, 5 Sep 2017 12:10:15 +0000 (14:10 +0200)
committerArchit Taneja <architt@codeaurora.org>
Sat, 16 Sep 2017 09:38:47 +0000 (15:08 +0530)
Currently adv7511_get_modes() bails out early when no EDID could be
retrieved. This leaves the previous EDID in place, which is typically not
the intended behavior and might confuse applications. Instead the EDID
should be cleared when no EDID could be retrieved.

All functions that are called after the EDID check handle the case where
the EDID is NULL just fine and exhibit the expected behavior, so just drop
the check.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Tested-by: John Stultz <john.stultz@linaro.org>
Signed-off-by: Archit Taneja <architt@codeaurora.org>
Link: https://patchwork.freedesktop.org/patch/msgid/20170905121018.11477-1-lars@metafoo.de
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c

index b2431ae..fb8f4cd 100644 (file)
@@ -591,8 +591,6 @@ static int adv7511_get_modes(struct adv7511 *adv7511,
 
        kfree(adv7511->edid);
        adv7511->edid = edid;
-       if (!edid)
-               return 0;
 
        drm_mode_connector_update_edid_property(connector, edid);
        count = drm_add_edid_modes(connector, edid);