If choose_times() returns -EINVAL that means "c1" and "c2" haven't been
initialized.  I've added a check for that.

Signed-off-by: Dan Carpenter <[email protected]>

diff --git a/drivers/leds/leds-tca6507.c b/drivers/leds/leds-tca6507.c
index c548ea1..45222a7 100644
--- a/drivers/leds/leds-tca6507.c
+++ b/drivers/leds/leds-tca6507.c
@@ -327,6 +327,8 @@ static void set_times(struct tca6507_chip *tca, int bank)
        int result;
 
        result = choose_times(tca->bank[bank].ontime, &c1, &c2);
+       if (result < 0)
+               return;
        dev_dbg(&tca->client->dev,
                "Chose on  times %d(%d) %d(%d) for %dms\n",
                c1, time_codes[c1],

Reply via email to