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: Axel Lin <axel.lin@gmail.com>
Cc: Samu Onkalo <samu.p.onkalo@nokia.com>
Cc: Richard Purdie <rpurdie@rpsys.net>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
Axel Lin 2011-10-31 17:12:12 -07:00 committed by Linus Torvalds
parent 2b67c95b74
commit fa0ea0e16f

View File

@ -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)