[PATCH 1/1] mtd: nand: move the checking the validity of oob into nand_write_oob

Maxim Levitsky maximlevitsky at gmail.com
Mon Feb 15 09:21:04 EST 2010


On Mon, 2010-02-15 at 16:07 +0200, Artem Bityutskiy wrote: 
> On Thu, 2010-02-04 at 15:18 +0800, Stanley.Miao wrote:
> > nand_write_oob will invoke nand_do_write_oob or nand_do_write_ops depending
> > on if ops->datbuf is NULL. nand_do_write_oob checked the validity of oob
> > but nand_do_write_ops didn't. Now move the check into nand_write_oob to
> > ensure the validity of oobbuf.
> > 
> > Signed-off-by: Stanley.Miao <stanley.miao at windriver.com>
> > ---
> >  drivers/mtd/nand/nand_base.c |   69 ++++++++++++++++++++++-------------------
> >  1 files changed, 37 insertions(+), 32 deletions(-)
> > 
> > diff --git a/drivers/mtd/nand/nand_base.c b/drivers/mtd/nand/nand_base.c
> > index 8f2958f..29e2a06 100644
> > --- a/drivers/mtd/nand/nand_base.c
> > +++ b/drivers/mtd/nand/nand_base.c
> > @@ -2113,40 +2113,9 @@ static int nand_write(struct mtd_info *mtd, loff_t to, size_t len,
> >  static int nand_do_write_oob(struct mtd_info *mtd, loff_t to,
> >  			     struct mtd_oob_ops *ops)
> >  {
> 
> ...
> 
> > @@ -2203,6 +2172,42 @@ static int nand_write_oob(struct mtd_info *mtd, loff_t to,
> >  		return -EINVAL;
> >  	}
> >  
> > +	if (ops->oobbuf) {
> > +		int len;
> > +		DEBUG(MTD_DEBUG_LEVEL3, "%s: to = 0x%08x, ooblen = %i\n",
> > +				__func__, (unsigned int)to, (int)ops->ooblen);
> 
> Why this check is not done for !obs->oobbuf cas as well?
> 
> 

I address this and other problems in my patchset, please test if it
works.

Best regards,
Maxim Levitsky




More information about the linux-mtd mailing list