From: Hans Verkuil <hans.verkuil@xxxxxxxxx> Instead of doing: if (state->cec_enabled_adap) adv7511_wr_and_or(sd, 0x95, 0xc0, enable ? 0x39 : 0x00); do: adv7511_wr_and_or(sd, 0x95, 0xc0, (state->cec_enabled_adap && enable) ? 0x39 : 0x00); This ensures that the cec irq mask is always updated correctly according to both conditions. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> --- drivers/media/i2c/adv7511.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/media/i2c/adv7511.c b/drivers/media/i2c/adv7511.c index 002117b..ddcde2d 100644 --- a/drivers/media/i2c/adv7511.c +++ b/drivers/media/i2c/adv7511.c @@ -937,8 +937,8 @@ static void adv7511_set_isr(struct v4l2_subdev *sd, bool enable) else if (adv7511_have_hotplug(sd)) irqs |= MASK_ADV7511_EDID_RDY_INT; - if (state->cec_enabled_adap) - adv7511_wr_and_or(sd, 0x95, 0xc0, enable ? 0x39 : 0x00); + adv7511_wr_and_or(sd, 0x95, 0xc0, + (state->cec_enabled_adap && enable) ? 0x39 : 0x00); /* * This i2c write can fail (approx. 1 in 1000 writes). But it -- 2.8.1 _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/dri-devel