Commit fa0ea0e1 authored by Axel Lin's avatar Axel Lin Committed by Linus Torvalds

drivers/leds/leds-lp5521.c: avoid writing uninitialized value to LP5521_REG_OP_MODE register

If lp5521_read fails, engine_state variable is not initialized.
If lp5521_read fails, we should return error.
This patch fixes below warning.

  CC      drivers/leds/leds-lp5521.o
drivers/leds/leds-lp5521.c: In function 'lp5521_set_engine_mode':
drivers/leds/leds-lp5521.c:168: warning: 'engine_state' may be used uninitialized in this function

[akpm@linux-foundation.org: remove unneeded "ret |="]
Signed-off-by: default avatarAxel Lin <axel.lin@gmail.com>
Cc: Samu Onkalo <samu.p.onkalo@nokia.com>
Cc: Richard Purdie <rpurdie@rpsys.net>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent 2b67c95b
...@@ -175,14 +175,14 @@ static int lp5521_set_engine_mode(struct lp5521_engine *engine, u8 mode) ...@@ -175,14 +175,14 @@ static int lp5521_set_engine_mode(struct lp5521_engine *engine, u8 mode)
mode = LP5521_CMD_DIRECT; mode = LP5521_CMD_DIRECT;
ret = lp5521_read(client, LP5521_REG_OP_MODE, &engine_state); ret = lp5521_read(client, LP5521_REG_OP_MODE, &engine_state);
if (ret < 0)
return ret;
/* set mode only for this engine */ /* set mode only for this engine */
engine_state &= ~(engine->engine_mask); engine_state &= ~(engine->engine_mask);
mode &= engine->engine_mask; mode &= engine->engine_mask;
engine_state |= mode; engine_state |= mode;
ret |= lp5521_write(client, LP5521_REG_OP_MODE, engine_state); return lp5521_write(client, LP5521_REG_OP_MODE, engine_state);
return ret;
} }
static int lp5521_load_program(struct lp5521_engine *eng, const u8 *pattern) static int lp5521_load_program(struct lp5521_engine *eng, const u8 *pattern)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment