4.19-stable review patch. If anyone has any objections, please let me know. ------------------ From: Axel Lin <axel.lin@xxxxxxxxxx> commit 2095a45e345e669ea77a9b34bdd7de5ceb422f93 upstream. The altr_a10sr_gpio_direction_output should set proper output level based on the value argument. Fixes: 26a48c4cc2f1 ("gpio: altera-a10sr: Add A10 System Resource Chip GPIO support.") Cc: <stable@xxxxxxxxxxxxxxx> Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Tested by: Thor Thayer <thor.thayer@xxxxxxxxxxxxxxx> Reviewed by: Thor Thayer <thor.thayer@xxxxxxxxxxxxxxx> Signed-off-by: Bartosz Golaszewski <bgolaszewski@xxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> --- drivers/gpio/gpio-altera-a10sr.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) --- a/drivers/gpio/gpio-altera-a10sr.c +++ b/drivers/gpio/gpio-altera-a10sr.c @@ -66,8 +66,10 @@ static int altr_a10sr_gpio_direction_inp static int altr_a10sr_gpio_direction_output(struct gpio_chip *gc, unsigned int nr, int value) { - if (nr <= (ALTR_A10SR_OUT_VALID_RANGE_HI - ALTR_A10SR_LED_VALID_SHIFT)) + if (nr <= (ALTR_A10SR_OUT_VALID_RANGE_HI - ALTR_A10SR_LED_VALID_SHIFT)) { + altr_a10sr_gpio_set(gc, nr, value); return 0; + } return -EINVAL; }