]> git.proxmox.com Git - mirror_ubuntu-bionic-kernel.git/commitdiff
media: adv7604: when the EDID is cleared, unconfigure CEC as well
authorHans Verkuil <hans.verkuil@cisco.com>
Thu, 4 Oct 2018 07:57:06 +0000 (03:57 -0400)
committerJuerg Haefliger <juergh@canonical.com>
Wed, 24 Jul 2019 01:58:28 +0000 (19:58 -0600)
BugLink: https://bugs.launchpad.net/bugs/1836802
commit e7da89926f6dc6cf855f5ffdf79ef99a1b115ca7 upstream.

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>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Andrea Righi <andrea.righi@canonical.com>
Signed-off-by: Khalid Elmously <khalid.elmously@canonical.com>
drivers/media/i2c/adv7604.c

index c786cd1254176a3de4b698c4ebd51486bf3d16bb..4b98a02ac5b6fd867e85630260d6079530a06bc6 100644 (file)
@@ -2295,8 +2295,10 @@ static int adv76xx_set_edid(struct v4l2_subdev *sd, struct v4l2_edid *edid)
                state->aspect_ratio.numerator = 16;
                state->aspect_ratio.denominator = 9;
 
-               if (!state->edid.present)
+               if (!state->edid.present) {
                        state->edid.blocks = 0;
+                       cec_phys_addr_invalidate(state->cec_adap);
+               }
 
                v4l2_dbg(2, debug, sd, "%s: clear EDID pad %d, edid.present = 0x%x\n",
                                __func__, edid->pad, state->edid.present);