media: lgdt330x: fix lock status reporting
authorFrench, Nicholas A <naf@ou.edu>
Sun, 9 Dec 2018 07:11:18 +0000 (02:11 -0500)
committerMauro Carvalho Chehab <mchehab+samsung@kernel.org>
Mon, 7 Jan 2019 18:45:45 +0000 (13:45 -0500)
A typo in code cleanup commit db9c1007bc07 ("media: lgdt330x: do
some cleanups at status logic") broke the FE_HAS_LOCK reporting
for 3303 chips by inadvertently modifying the register mask.

The broken lock status is critial as it prevents video capture
cards from reporting signal strength, scanning for channels,
and capturing video.

Fix regression by reverting mask change.

Cc: stable@vger.kernel.org # Kernel 4.17+
Fixes: db9c1007bc07 ("media: lgdt330x: do some cleanups at status logic")
Signed-off-by: Nick French <naf@ou.edu>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Tested-by: Adam Stylinski <kungfujesus06@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
drivers/media/dvb-frontends/lgdt330x.c

index 96807e1..8abb1a5 100644 (file)
@@ -783,7 +783,7 @@ static int lgdt3303_read_status(struct dvb_frontend *fe,
 
                if ((buf[0] & 0x02) == 0x00)
                        *status |= FE_HAS_SYNC;
-               if ((buf[0] & 0xfd) == 0x01)
+               if ((buf[0] & 0x01) == 0x01)
                        *status |= FE_HAS_VITERBI | FE_HAS_LOCK;
                break;
        default: