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

Han Xu xhnjupt at gmail.com
Mon Oct 24 07:49:29 PDT 2016


On Sun, Oct 23, 2016 at 05:08:19AM +0200, Marek Vasut wrote:
> On 10/22/2016 06:15 PM, Fabio Estevam 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>
> 
> Reviewed-by: Marek Vasut <marex at denx.de>
> 

Acked-by: Han Xu<han.xu at nxp.com>

> > ---
> >  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;
> >  }
> >  
> > 
> 
> 
> -- 
> Best regards,
> Marek Vasut
> 
> ______________________________________________________
> Linux MTD discussion mailing list
> http://lists.infradead.org/mailman/listinfo/linux-mtd/



More information about the linux-mtd mailing list