Re: [PATCH] leds: leds-lp5523: fix build warnings

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Sun, Oct 28, 2012 at 6:45 PM, Jingoo Han <jg1.han@xxxxxxxxxxx> wrote:
> This patch fixes build warnings as below:
>
> drivers/leds/leds-lp5523.c: In function 'lp5523_selftest':
> drivers/leds/leds-lp5523.c:496:18: warning: 'adc' may be used uninitialized in this function [-Wuninitialized]
> drivers/leds/leds-lp5523.c:471:5: warning: 'vdd' may be used uninitialized in this function [-Wuninitialized]
> drivers/leds/leds-lp5523.c: In function 'lp5523_probe':
> drivers/leds/leds-lp5523.c:252:9: warning: 'status' may be used uninitialized in this function [-Wuninitialized]
> drivers/leds/leds-lp5523.c:201:5: note: 'status' was declared here
>
> If lp5523_read() returns an error, problems will happen. Thus,
> when lp5523_read() returns an error, it should be handled.
>
> Signed-off-by: Jingoo Han <jg1.han@xxxxxxxxxxx>

Looks good to me, applied.

Thanks,
-Bryan

> ---
>  drivers/leds/leds-lp5523.c |   20 +++++++++++++++++---
>  1 files changed, 17 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/leds/leds-lp5523.c b/drivers/leds/leds-lp5523.c
> index 97994ff..4ddf7b4 100644
> --- a/drivers/leds/leds-lp5523.c
> +++ b/drivers/leds/leds-lp5523.c
> @@ -248,7 +248,10 @@ static int lp5523_configure(struct i2c_client *client)
>
>         /* Let the programs run for couple of ms and check the engine status */
>         usleep_range(3000, 6000);
> -       lp5523_read(client, LP5523_REG_STATUS, &status);
> +       ret = lp5523_read(client, LP5523_REG_STATUS, &status);
> +       if (ret < 0)
> +               return ret;
> +
>         status &= LP5523_ENG_STATUS_MASK;
>
>         if (status == LP5523_ENG_STATUS_MASK) {
> @@ -464,10 +467,16 @@ static ssize_t lp5523_selftest(struct device *dev,
>                                     LP5523_EN_LEDTEST | 16);
>         usleep_range(3000, 6000); /* ADC conversion time is typically 2.7 ms */
>         ret = lp5523_read(chip->client, LP5523_REG_STATUS, &status);
> +       if (ret < 0)
> +               goto fail;
> +
>         if (!(status & LP5523_LEDTEST_DONE))
>                 usleep_range(3000, 6000); /* Was not ready. Wait little bit */
>
> -       ret |= lp5523_read(chip->client, LP5523_REG_LED_TEST_ADC, &vdd);
> +       ret = lp5523_read(chip->client, LP5523_REG_LED_TEST_ADC, &vdd);
> +       if (ret < 0)
> +               goto fail;
> +
>         vdd--;  /* There may be some fluctuation in measurement */
>
>         for (i = 0; i < LP5523_LEDS; i++) {
> @@ -489,9 +498,14 @@ static ssize_t lp5523_selftest(struct device *dev,
>                 /* ADC conversion time is 2.7 ms typically */
>                 usleep_range(3000, 6000);
>                 ret = lp5523_read(chip->client, LP5523_REG_STATUS, &status);
> +               if (ret < 0)
> +                       goto fail;
> +
>                 if (!(status & LP5523_LEDTEST_DONE))
>                         usleep_range(3000, 6000);/* Was not ready. Wait. */
> -               ret |= lp5523_read(chip->client, LP5523_REG_LED_TEST_ADC, &adc);
> +               ret = lp5523_read(chip->client, LP5523_REG_LED_TEST_ADC, &adc);
> +               if (ret < 0)
> +                       goto fail;
>
>                 if (adc >= vdd || adc < LP5523_ADC_SHORTCIRC_LIM)
>                         pos += sprintf(buf + pos, "LED %d FAIL\n", i);
> --
> 1.7.1
>
>
--
To unsubscribe from this list: send the line "unsubscribe linux-leds" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux