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

Commit 4dacad61 authored by Vladimir Zapolskiy's avatar Vladimir Zapolskiy Committed by Tomi Valkeinen
Browse files

omapfb: panel-sharp-ls037v7dw01: fix check of gpio_to_desc() return value



The change fixes a check of gpio_to_desc() return value, the function
returns either a valid pointer to struct gpio_desc or NULL, this makes
IS_ERR() check invalid and may lead to a NULL pointer dereference in
runtime.

Signed-off-by: default avatarVladimir Zapolskiy <vz@mleia.com>
Signed-off-by: default avatarTomi Valkeinen <tomi.valkeinen@ti.com>
parent f36fdacc
Loading
Loading
Loading
Loading
+4 −8
Original line number Diff line number Diff line
@@ -200,20 +200,16 @@ static struct omap_dss_driver sharp_ls_ops = {
static int sharp_ls_get_gpio(struct device *dev, int gpio, unsigned long flags,
		  char *desc, struct gpio_desc **gpiod)
{
	struct gpio_desc *gd;
	int r;

	*gpiod = NULL;

	r = devm_gpio_request_one(dev, gpio, flags, desc);
	if (r)
	if (r) {
		*gpiod = NULL;
		return r == -ENOENT ? 0 : r;
	}

	gd = gpio_to_desc(gpio);
	if (IS_ERR(gd))
		return PTR_ERR(gd) == -ENOENT ? 0 : PTR_ERR(gd);
	*gpiod = gpio_to_desc(gpio);

	*gpiod = gd;
	return 0;
}