提交 c188637d 编写于 作者: A Antti Palosaari 提交者: Mauro Carvalho Chehab

[media] rtl2830: prevent hw access when sleeping

to prevent I/O errors...
Signed-off-by: NAntti Palosaari <crope@iki.fi>
Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
上级 631a2b61
...@@ -381,6 +381,9 @@ static int rtl2830_get_frontend(struct dvb_frontend *fe) ...@@ -381,6 +381,9 @@ static int rtl2830_get_frontend(struct dvb_frontend *fe)
int ret; int ret;
u8 buf[3]; u8 buf[3];
if (priv->sleeping)
return 0;
ret = rtl2830_rd_regs(priv, 0x33c, buf, 2); ret = rtl2830_rd_regs(priv, 0x33c, buf, 2);
if (ret) if (ret)
goto err; goto err;
...@@ -525,6 +528,9 @@ static int rtl2830_read_snr(struct dvb_frontend *fe, u16 *snr) ...@@ -525,6 +528,9 @@ static int rtl2830_read_snr(struct dvb_frontend *fe, u16 *snr)
{ 92888734, 92888734, 95487525, 99770748 }, { 92888734, 92888734, 95487525, 99770748 },
}; };
if (priv->sleeping)
return 0;
/* reports SNR in resolution of 0.1 dB */ /* reports SNR in resolution of 0.1 dB */
ret = rtl2830_rd_reg(priv, 0x33c, &tmp); ret = rtl2830_rd_reg(priv, 0x33c, &tmp);
...@@ -563,6 +569,9 @@ static int rtl2830_read_ber(struct dvb_frontend *fe, u32 *ber) ...@@ -563,6 +569,9 @@ static int rtl2830_read_ber(struct dvb_frontend *fe, u32 *ber)
int ret; int ret;
u8 buf[2]; u8 buf[2];
if (priv->sleeping)
return 0;
ret = rtl2830_rd_regs(priv, 0x34e, buf, 2); ret = rtl2830_rd_regs(priv, 0x34e, buf, 2);
if (ret) if (ret)
goto err; goto err;
...@@ -588,6 +597,9 @@ static int rtl2830_read_signal_strength(struct dvb_frontend *fe, u16 *strength) ...@@ -588,6 +597,9 @@ static int rtl2830_read_signal_strength(struct dvb_frontend *fe, u16 *strength)
u8 buf[2]; u8 buf[2];
u16 if_agc_raw, if_agc; u16 if_agc_raw, if_agc;
if (priv->sleeping)
return 0;
ret = rtl2830_rd_regs(priv, 0x359, buf, 2); ret = rtl2830_rd_regs(priv, 0x359, buf, 2);
if (ret) if (ret)
goto err; goto err;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册