[PATCH] mtd: nand: gpmi: disable the clocks on errors

Boris Brezillon boris.brezillon at free-electrons.com
Mon Oct 24 05:31:12 PDT 2016


On Sat, 22 Oct 2016 14:15:22 -0200
Fabio Estevam <festevam at gmail.com> wrote:

> From: Fabio Estevam <fabio.estevam at nxp.com>
> 
> We should disable the previously enabled GPMI clocks in the error paths.
> 
> Also, when gpmi_enable_clk() fails simply return the error
> code immediately rather than jumping to to the 'err_out' label.
> 
> Signed-off-by: Fabio Estevam <fabio.estevam at nxp.com>

Acked-by: Boris Brezillon <boris.brezillon at free-electrons.com>

Brian, can you take this patch in the MTD tree and queue it for the
next -rc?

> ---
>  drivers/mtd/nand/gpmi-nand/gpmi-lib.c | 6 ++++--
>  1 file changed, 4 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/mtd/nand/gpmi-nand/gpmi-lib.c b/drivers/mtd/nand/gpmi-nand/gpmi-lib.c
> index 0f68a99..141bd70 100644
> --- a/drivers/mtd/nand/gpmi-nand/gpmi-lib.c
> +++ b/drivers/mtd/nand/gpmi-nand/gpmi-lib.c
> @@ -161,7 +161,7 @@ int gpmi_init(struct gpmi_nand_data *this)
>  
>  	ret = gpmi_enable_clk(this);
>  	if (ret)
> -		goto err_out;
> +		return ret;
>  	ret = gpmi_reset_block(r->gpmi_regs, false);
>  	if (ret)
>  		goto err_out;
> @@ -197,6 +197,7 @@ int gpmi_init(struct gpmi_nand_data *this)
>  	gpmi_disable_clk(this);
>  	return 0;
>  err_out:
> +	gpmi_disable_clk(this);
>  	return ret;
>  }
>  
> @@ -270,7 +271,7 @@ int bch_set_geometry(struct gpmi_nand_data *this)
>  
>  	ret = gpmi_enable_clk(this);
>  	if (ret)
> -		goto err_out;
> +		return ret;
>  
>  	/*
>  	* Due to erratum #2847 of the MX23, the BCH cannot be soft reset on this
> @@ -308,6 +309,7 @@ int bch_set_geometry(struct gpmi_nand_data *this)
>  	gpmi_disable_clk(this);
>  	return 0;
>  err_out:
> +	gpmi_disable_clk(this);
>  	return ret;
>  }
>  




More information about the linux-mtd mailing list