gpio: exar: add a check for the return value of ida_simple_get fails
authorKangjie Lu <kjlu@umn.edu>
Sat, 9 Mar 2019 04:07:57 +0000 (22:07 -0600)
committerBartosz Golaszewski <bgolaszewski@baylibre.com>
Fri, 22 Mar 2019 15:48:39 +0000 (16:48 +0100)
ida_simple_get may fail and return a negative error number.
The fix checks its return value; if it fails, go to err_destroy.

Cc: <stable@vger.kernel.org>
Signed-off-by: Kangjie Lu <kjlu@umn.edu>
Signed-off-by: Bartosz Golaszewski <bgolaszewski@baylibre.com>
drivers/gpio/gpio-exar.c

index 0ecd236..a09d2f9 100644 (file)
@@ -148,6 +148,8 @@ static int gpio_exar_probe(struct platform_device *pdev)
        mutex_init(&exar_gpio->lock);
 
        index = ida_simple_get(&ida_index, 0, 0, GFP_KERNEL);
+       if (index < 0)
+               goto err_destroy;
 
        sprintf(exar_gpio->name, "exar_gpio%d", index);
        exar_gpio->gpio_chip.label = exar_gpio->name;