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

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
...@@ -200,20 +200,16 @@ static struct omap_dss_driver sharp_ls_ops = { ...@@ -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, static int sharp_ls_get_gpio(struct device *dev, int gpio, unsigned long flags,
char *desc, struct gpio_desc **gpiod) char *desc, struct gpio_desc **gpiod)
{ {
struct gpio_desc *gd;
int r; int r;
*gpiod = NULL;
r = devm_gpio_request_one(dev, gpio, flags, desc); r = devm_gpio_request_one(dev, gpio, flags, desc);
if (r) if (r) {
*gpiod = NULL;
return r == -ENOENT ? 0 : r; return r == -ENOENT ? 0 : r;
}
gd = gpio_to_desc(gpio); *gpiod = gpio_to_desc(gpio);
if (IS_ERR(gd))
return PTR_ERR(gd) == -ENOENT ? 0 : PTR_ERR(gd);
*gpiod = gd;
return 0; return 0;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment