diff options
-rw-r--r-- | drivers/gpio/gpio-max3191x.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/drivers/gpio/gpio-max3191x.c b/drivers/gpio/gpio-max3191x.c index f74b1072e84b..b5b9cb1fda50 100644 --- a/drivers/gpio/gpio-max3191x.c +++ b/drivers/gpio/gpio-max3191x.c | |||
@@ -315,12 +315,17 @@ static void gpiod_set_array_single_value_cansleep(unsigned int ndescs, | |||
315 | struct gpio_desc **desc, | 315 | struct gpio_desc **desc, |
316 | int value) | 316 | int value) |
317 | { | 317 | { |
318 | int i, values[ndescs]; | 318 | int i, *values; |
319 | |||
320 | values = kmalloc_array(ndescs, sizeof(*values), GFP_KERNEL); | ||
321 | if (!values) | ||
322 | return; | ||
319 | 323 | ||
320 | for (i = 0; i < ndescs; i++) | 324 | for (i = 0; i < ndescs; i++) |
321 | values[i] = value; | 325 | values[i] = value; |
322 | 326 | ||
323 | gpiod_set_array_value_cansleep(ndescs, desc, values); | 327 | gpiod_set_array_value_cansleep(ndescs, desc, values); |
328 | kfree(values); | ||
324 | } | 329 | } |
325 | 330 | ||
326 | static struct gpio_descs *devm_gpiod_get_array_optional_count( | 331 | static struct gpio_descs *devm_gpiod_get_array_optional_count( |