| From 7ecced0934e574b528a1ba6c237731e682216a74 Mon Sep 17 00:00:00 2001 |
| From: Kangjie Lu <kjlu@umn.edu> |
| Date: Fri, 8 Mar 2019 22:07:57 -0600 |
| Subject: gpio: exar: add a check for the return value of ida_simple_get fails |
| |
| From: Kangjie Lu <kjlu@umn.edu> |
| |
| commit 7ecced0934e574b528a1ba6c237731e682216a74 upstream. |
| |
| 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> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| |
| --- |
| drivers/gpio/gpio-exar.c | 2 ++ |
| 1 file changed, 2 insertions(+) |
| |
| --- a/drivers/gpio/gpio-exar.c |
| +++ b/drivers/gpio/gpio-exar.c |
| @@ -148,6 +148,8 @@ static int gpio_exar_probe(struct platfo |
| 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; |