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 <arnd@xxxxxxxx> --- 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