gcc-8 reports missing error handling in blinkm_detect, when blinkm()
fails, tmpargs[] is uninitialized:

drivers/leds/leds-blinkm.c: In function 'blinkm_detect':
drivers/leds/leds-blinkm.c:555:6: error: 'tmpargs' may be used uninitialized in 
this function [-Werror=maybe-uninitialized]

This adds a missing error checks.

Signed-off-by: Arnd Bergmann <a...@arndb.de>
---
 drivers/leds/leds-blinkm.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/drivers/leds/leds-blinkm.c b/drivers/leds/leds-blinkm.c
index d03ed6b4176b..851c1920b63c 100644
--- a/drivers/leds/leds-blinkm.c
+++ b/drivers/leds/leds-blinkm.c
@@ -549,8 +549,12 @@ static int blinkm_detect(struct i2c_client *client, struct 
i2c_board_info *info)
        /* make sure the blinkM is balanced (read/writes) */
        while (count > 0) {
                ret = blinkm_write(client, BLM_GET_ADDR, NULL);
+               if (ret)
+                       return ret;
                usleep_range(5000, 10000);
                ret = blinkm_read(client, BLM_GET_ADDR, tmpargs);
+               if (ret)
+                       return ret;
                usleep_range(5000, 10000);
                if (tmpargs[0] == 0x09)
                        count = 0;
-- 
2.9.0

Reply via email to