Patchwork mxs/gpmi-nand: fix error return from gpmi_get_clks()

login
register
mail settings
Submitter Michał Mirosław
Date May 4, 2013, 1:19 p.m.
Message ID <135ba9f94ed78b589a8576dc14f8b720d8425891.1367673436.git.mirq-linux@rere.qmqm.pl>
Download mbox | patch
Permalink /patch/241460/
State Accepted
Commit d1cb556c3feb238f11dc47f8fa56df7880022908
Headers show

Comments

Michał Mirosław - May 4, 2013, 1:19 p.m.
Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl>
---
 drivers/mtd/nand/gpmi-nand/gpmi-nand.c |   12 ++++++++----
 1 file changed, 8 insertions(+), 4 deletions(-)
Huang Shijie - May 6, 2013, 8:20 a.m.
于 2013年05月04日 21:19, Michał Mirosław 写道:
> Signed-off-by: Michał Mirosław<mirq-linux@rere.qmqm.pl>
> ---
>   drivers/mtd/nand/gpmi-nand/gpmi-nand.c |   12 ++++++++----
>   1 file changed, 8 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/mtd/nand/gpmi-nand/gpmi-nand.c b/drivers/mtd/nand/gpmi-nand/gpmi-nand.c
> index 25ecfa1..1d18efc 100644
> --- a/drivers/mtd/nand/gpmi-nand/gpmi-nand.c
> +++ b/drivers/mtd/nand/gpmi-nand/gpmi-nand.c
> @@ -473,12 +473,14 @@ static int gpmi_get_clks(struct gpmi_nand_data *this)
>   	struct resources *r =&this->resources;
>   	char **extra_clks = NULL;
>   	struct clk *clk;
> -	int i;
> +	int err, i;
>
>   	/* The main clock is stored in the first. */
>   	r->clock[0] = clk_get(this->dev, "gpmi_io");
> -	if (IS_ERR(r->clock[0]))
> +	if (IS_ERR(r->clock[0])) {
> +		err = PTR_ERR(r->clock[0]);
>   		goto err_clock;
> +	}
>
>   	/* Get extra clocks */
>   	if (GPMI_IS_MX6Q(this))
> @@ -491,8 +493,10 @@ static int gpmi_get_clks(struct gpmi_nand_data *this)
>   			break;
>
>   		clk = clk_get(this->dev, extra_clks[i - 1]);
> -		if (IS_ERR(clk))
> +		if (IS_ERR(clk)) {
> +			err = PTR_ERR(clk);
>   			goto err_clock;
> +		}
>
>   		r->clock[i] = clk;
>   	}
> @@ -511,7 +515,7 @@ static int gpmi_get_clks(struct gpmi_nand_data *this)
>   err_clock:
>   	dev_dbg(this->dev, "failed in finding the clocks.\n");
>   	gpmi_put_clks(this);
> -	return -ENOMEM;
> +	return err;
>   }
>
>   static int acquire_resources(struct gpmi_nand_data *this)
Acked-by: Huang Shijie <b32955@freescale.com>
Artem Bityutskiy - July 1, 2013, 5:15 a.m.
On Sat, 2013-05-04 at 15:19 +0200, Michał Mirosław wrote:
> Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl>

Pushed to l2-mtd.git, thanks!

Patch

diff --git a/drivers/mtd/nand/gpmi-nand/gpmi-nand.c b/drivers/mtd/nand/gpmi-nand/gpmi-nand.c
index 25ecfa1..1d18efc 100644
--- a/drivers/mtd/nand/gpmi-nand/gpmi-nand.c
+++ b/drivers/mtd/nand/gpmi-nand/gpmi-nand.c
@@ -473,12 +473,14 @@  static int gpmi_get_clks(struct gpmi_nand_data *this)
 	struct resources *r = &this->resources;
 	char **extra_clks = NULL;
 	struct clk *clk;
-	int i;
+	int err, i;
 
 	/* The main clock is stored in the first. */
 	r->clock[0] = clk_get(this->dev, "gpmi_io");
-	if (IS_ERR(r->clock[0]))
+	if (IS_ERR(r->clock[0])) {
+		err = PTR_ERR(r->clock[0]);
 		goto err_clock;
+	}
 
 	/* Get extra clocks */
 	if (GPMI_IS_MX6Q(this))
@@ -491,8 +493,10 @@  static int gpmi_get_clks(struct gpmi_nand_data *this)
 			break;
 
 		clk = clk_get(this->dev, extra_clks[i - 1]);
-		if (IS_ERR(clk))
+		if (IS_ERR(clk)) {
+			err = PTR_ERR(clk);
 			goto err_clock;
+		}
 
 		r->clock[i] = clk;
 	}
@@ -511,7 +515,7 @@  static int gpmi_get_clks(struct gpmi_nand_data *this)
 err_clock:
 	dev_dbg(this->dev, "failed in finding the clocks.\n");
 	gpmi_put_clks(this);
-	return -ENOMEM;
+	return err;
 }
 
 static int acquire_resources(struct gpmi_nand_data *this)