2014-07-30 05:51:33

by Pramod Gurav

[permalink] [raw]
Subject: [PATCH] input: ads7846: Release resources on failure for clean exit

From: Pramod Gurav <[email protected]>

Input device must be released(input_free_device) when ads7846_probe_dt
fails. This fixes the same by releasing resources on failure.

CC: Dmitry Torokhov <[email protected]>
CC: Lejun Zhu <[email protected]>
CC: Sachin Kamat <[email protected]>

Signed-off-by: Pramod Gurav <[email protected]>
---
drivers/input/touchscreen/ads7846.c | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/drivers/input/touchscreen/ads7846.c b/drivers/input/touchscreen/ads7846.c
index da201b8..e57ba52 100644
--- a/drivers/input/touchscreen/ads7846.c
+++ b/drivers/input/touchscreen/ads7846.c
@@ -1302,8 +1302,10 @@ static int ads7846_probe(struct spi_device *spi)
pdata = dev_get_platdata(&spi->dev);
if (!pdata) {
pdata = ads7846_probe_dt(&spi->dev);
- if (IS_ERR(pdata))
- return PTR_ERR(pdata);
+ if (IS_ERR(pdata)) {
+ err = PTR_ERR(pdata);
+ goto err_free_mem;
+ }
}

ts->model = pdata->model ? : 7846;
--
1.7.9.5


2014-07-31 06:01:44

by Dmitry Torokhov

[permalink] [raw]
Subject: Re: [PATCH] input: ads7846: Release resources on failure for clean exit

On Wed, Jul 30, 2014 at 11:24:37AM +0530, Pramod Gurav wrote:
> From: Pramod Gurav <[email protected]>
>
> Input device must be released(input_free_device) when ads7846_probe_dt
> fails. This fixes the same by releasing resources on failure.
>
> CC: Dmitry Torokhov <[email protected]>
> CC: Lejun Zhu <[email protected]>
> CC: Sachin Kamat <[email protected]>
>
> Signed-off-by: Pramod Gurav <[email protected]>

Applied, thank you.

> ---
> drivers/input/touchscreen/ads7846.c | 6 ++++--
> 1 file changed, 4 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/input/touchscreen/ads7846.c b/drivers/input/touchscreen/ads7846.c
> index da201b8..e57ba52 100644
> --- a/drivers/input/touchscreen/ads7846.c
> +++ b/drivers/input/touchscreen/ads7846.c
> @@ -1302,8 +1302,10 @@ static int ads7846_probe(struct spi_device *spi)
> pdata = dev_get_platdata(&spi->dev);
> if (!pdata) {
> pdata = ads7846_probe_dt(&spi->dev);
> - if (IS_ERR(pdata))
> - return PTR_ERR(pdata);
> + if (IS_ERR(pdata)) {
> + err = PTR_ERR(pdata);
> + goto err_free_mem;
> + }
> }
>
> ts->model = pdata->model ? : 7846;
> --
> 1.7.9.5
>

--
Dmitry