Message ID | 20181224152903.15828-1-pakki001@umn.edu (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | media/lgdt3306a: Add a missing return value check. | expand |
diff --git a/drivers/media/dvb-frontends/lgdt3306a.c b/drivers/media/dvb-frontends/lgdt3306a.c index 0e1f5daaf20c..b79f652d05e1 100644 --- a/drivers/media/dvb-frontends/lgdt3306a.c +++ b/drivers/media/dvb-frontends/lgdt3306a.c @@ -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
In lgdt3306a.c, lgdt3306a_read_signal_strength() can fail while reading the registers via lgdt3306a_read_reg(). The function can return an error from i2c_transfer(). The fix checks the return value for this failure. Signed-off-by: Aditya Pakki <pakki001@umn.edu> --- drivers/media/dvb-frontends/lgdt3306a.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-)