Commit beb0a43f authored by Axel Lin's avatar Axel Lin Committed by Richard Purdie

backlight: l4f00242t03: fix error handling in l4f00242t03_probe

Error handling fixes:
1. In the case of kzalloc failure, simple return -ENOMEM instead of goto
   err. ( priv is NULL in this case )
2. In the case of gpio_request fail for reset_gpio and data_enable_gpio,
   properly release resources by goto err and err2 respectively.
Signed-off-by: default avatarAxel Lin <axel.lin@gmail.com>
Acked-by: default avatarAlberto Panizzo <maramaopercheseimorto@gmail.com>
Signed-off-by: default avatarRichard Purdie <rpurdie@linux.intel.com>
parent ee378a5c
...@@ -125,8 +125,7 @@ static int __devinit l4f00242t03_probe(struct spi_device *spi) ...@@ -125,8 +125,7 @@ static int __devinit l4f00242t03_probe(struct spi_device *spi)
if (priv == NULL) { if (priv == NULL) {
dev_err(&spi->dev, "No memory for this device.\n"); dev_err(&spi->dev, "No memory for this device.\n");
ret = -ENOMEM; return -ENOMEM;
goto err;
} }
dev_set_drvdata(&spi->dev, priv); dev_set_drvdata(&spi->dev, priv);
...@@ -139,7 +138,7 @@ static int __devinit l4f00242t03_probe(struct spi_device *spi) ...@@ -139,7 +138,7 @@ static int __devinit l4f00242t03_probe(struct spi_device *spi)
if (ret) { if (ret) {
dev_err(&spi->dev, dev_err(&spi->dev,
"Unable to get the lcd l4f00242t03 reset gpio.\n"); "Unable to get the lcd l4f00242t03 reset gpio.\n");
return ret; goto err;
} }
ret = gpio_direction_output(pdata->reset_gpio, 1); ret = gpio_direction_output(pdata->reset_gpio, 1);
...@@ -151,7 +150,7 @@ static int __devinit l4f00242t03_probe(struct spi_device *spi) ...@@ -151,7 +150,7 @@ static int __devinit l4f00242t03_probe(struct spi_device *spi)
if (ret) { if (ret) {
dev_err(&spi->dev, dev_err(&spi->dev,
"Unable to get the lcd l4f00242t03 data en gpio.\n"); "Unable to get the lcd l4f00242t03 data en gpio.\n");
return ret; goto err2;
} }
ret = gpio_direction_output(pdata->data_enable_gpio, 0); ret = gpio_direction_output(pdata->data_enable_gpio, 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