media: adv7842: when the EDID is cleared, unconfigure CEC as well
authorHans Verkuil <hans.verkuil@cisco.com>
Thu, 4 Oct 2018 07:58:34 +0000 (03:58 -0400)
committerMauro Carvalho Chehab <mchehab+samsung@kernel.org>
Fri, 5 Oct 2018 15:25:06 +0000 (11:25 -0400)
When there is no EDID the CEC adapter should be unconfigured as
well. So call cec_phys_addr_invalidate() when this happens.

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Cc: <stable@vger.kernel.org> # for v4.18 and up
Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
drivers/media/i2c/adv7842.c

index cd63cc6564e9236c04514d1edb17208474e61b58..4721d49dcf0fef4bc4048e73d49bac558e3ed13e 100644 (file)
@@ -786,8 +786,10 @@ static int edid_write_hdmi_segment(struct v4l2_subdev *sd, u8 port)
        /* Disable I2C access to internal EDID ram from HDMI DDC ports */
        rep_write_and_or(sd, 0x77, 0xf3, 0x00);
 
-       if (!state->hdmi_edid.present)
+       if (!state->hdmi_edid.present) {
+               cec_phys_addr_invalidate(state->cec_adap);
                return 0;
+       }
 
        pa = v4l2_get_edid_phys_addr(edid, 256, &spa_loc);
        err = v4l2_phys_addr_validate(pa, &pa, NULL);