Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 4837d1c8 authored by Dan Carpenter's avatar Dan Carpenter Committed by Greg Kroah-Hartman
Browse files

gpio: winbond: Fix error code in winbond_gpio_get()



[ Upstream commit 9ca766eaea2e87b8b773bff04ee56c055cb76d4e ]

This error path returns 1, but it should instead propagate the negative
error code from winbond_sio_enter().

Fixes: a0d65009 ("gpio: winbond: Add driver")
Signed-off-by: default avatarDan Carpenter <dan.carpenter@oracle.com>
Reviewed-by: default avatarAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: default avatarBartosz Golaszewski <brgl@bgdev.pl>
Signed-off-by: default avatarSasha Levin <sashal@kernel.org>
parent bb18ad00
Loading
Loading
Loading
Loading
+4 −3
Original line number Diff line number Diff line
@@ -385,12 +385,13 @@ static int winbond_gpio_get(struct gpio_chip *gc, unsigned int offset)
	unsigned long *base = gpiochip_get_data(gc);
	const struct winbond_gpio_info *info;
	bool val;
	int ret;

	winbond_gpio_get_info(&offset, &info);

	val = winbond_sio_enter(*base);
	if (val)
		return val;
	ret = winbond_sio_enter(*base);
	if (ret)
		return ret;

	winbond_sio_select_logical(*base, info->dev);