Commit c9b7d8f2 authored by Kangjie Lu's avatar Kangjie Lu Committed by Mauro Carvalho Chehab
Browse files

media: lgdt3306a: fix a missing check of return value



If lgdt3306a_read_reg() fails, the read data in "val" is incorrect, thus
shouldn't be further used. The fix inserts a check for the return value
of lgdt3306a_read_reg(). If it fails, goto fail.

Signed-off-by: default avatarKangjie Lu <kjlu@umn.edu>
Signed-off-by: default avatarSean Young <sean@mess.org>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab+samsung@kernel.org>
parent f27dd0ad
Loading
Loading
Loading
Loading
+4 −1
Original line number Diff line number Diff line
@@ -1685,7 +1685,10 @@ static int lgdt3306a_read_signal_strength(struct dvb_frontend *fe,
	case QAM_256:
	case QAM_AUTO:
		/* need to know actual modulation to set proper SNR baseline */
		lgdt3306a_read_reg(state, 0x00a6, &val);
		ret = lgdt3306a_read_reg(state, 0x00a6, &val);
		if (lg_chkerr(ret))
			goto fail;

		if(val & 0x04)
			ref_snr = 2800; /* QAM-256 28dB */
		else