as reported by smatch:
        drivers/media/dvb-frontends/drx39xyj/drxj.c:2157 
drxj_dap_atomic_read_write_block() error: uninitialized symbol 'word'.

The driver doesn't check if a read error occurred. Add such
check.

Signed-off-by: Mauro Carvalho Chehab <mche...@s-opensource.com>
---
 drivers/media/dvb-frontends/drx39xyj/drxj.c | 10 +++++++---
 1 file changed, 7 insertions(+), 3 deletions(-)

diff --git a/drivers/media/dvb-frontends/drx39xyj/drxj.c 
b/drivers/media/dvb-frontends/drx39xyj/drxj.c
index 499ccff557bf..28e24d5b7fb3 100644
--- a/drivers/media/dvb-frontends/drx39xyj/drxj.c
+++ b/drivers/media/dvb-frontends/drx39xyj/drxj.c
@@ -2151,9 +2151,13 @@ int drxj_dap_atomic_read_write_block(struct 
i2c_device_addr *dev_addr,
        if (read_flag) {
                /* read data from buffer */
                for (i = 0; i < (datasize / 2); i++) {
-                       drxj_dap_read_reg16(dev_addr,
-                                           (DRXJ_HI_ATOMIC_BUF_START + i),
-                                          &word, 0);
+                       rc = drxj_dap_read_reg16(dev_addr,
+                                                (DRXJ_HI_ATOMIC_BUF_START + i),
+                                                &word, 0);
+                       if (rc) {
+                               pr_err("error %d\n", rc);
+                               goto rw_error;
+                       }
                        data[2 * i] = (u8) (word & 0xFF);
                        data[(2 * i) + 1] = (u8) (word >> 8);
                }
-- 
2.13.6

Reply via email to