[U-Boot] [PATCH v2 20/21] cmd: mtd: add 'mtd' command
    Miquel Raynal 
    miquel.raynal at bootlin.com
       
    Thu Jul 12 13:12:37 UTC 2018
    
    
  
Hi Boris,
> > > +
> > > +		if (full_erase) {
> > > +			off = 0;
> > > +			len = mtd->size;
> > > +		}
> > > +
> > > +		if ((u32)off % mtd->erasesize) {    
> > 
> > Sounds dangerous. We have 8GB NANDs on sunxi platforms...  
> 
> [...]
> 
> > > +
> > > +		if ((u32)len % mtd->erasesize) {    
> > 
> > Same here. I guess there's a do_div() in uboot.  
> 
> In both cases I take the less significant bytes of a 64-bit value. The
> modulo operation is safe as long as mtd->erasesize is a 32-bit value
> too. I don't think there is any danger?
As discussed out of this thread, this works because mtd->erasesize is
always a power of 2. Erase sizes not being a power of 2 do not exist
but it will be safer to switch to do_div().
Thanks,
Miquèl
    
    
More information about the U-Boot
mailing list