Hi Eric, On Tue, Apr 10, 2012 at 02:12:25AM +0200, Eric Bénard wrote: > This patch does what the comment tells the code should do. > Actual code fails for width = 4 (verified : only half of the buffer > is copied because len is divided by 8 instead of 4) and 8 where len > will be divided by 128. > The bug was introduced in 3d3c13d8f8238d0ed6e3e23841737de53b2c424f > > Signed-off-by: Eric Bénard <eric@xxxxxxxxxx> Can you please check if this is also fixed by the patches I recently posted: http://www.mail-archive.com/barebox@xxxxxxxxxxxxxxxxxxx/msg01033.html Thanks Sascha > --- > drivers/nor/cfi_flash_intel.c | 2 +- > 1 files changed, 1 insertions(+), 1 deletions(-) > > diff --git a/drivers/nor/cfi_flash_intel.c b/drivers/nor/cfi_flash_intel.c > index 6318cfe..3b325c1 100644 > --- a/drivers/nor/cfi_flash_intel.c > +++ b/drivers/nor/cfi_flash_intel.c > @@ -68,7 +68,7 @@ static int intel_flash_write_cfibuffer (struct flash_info *info, ulong dest, con > return retcode; > > /* reduce the number of loops by the width of the port */ > - cnt = len >> (info->portwidth - 1); > + cnt = len >> (info->portwidth == 8 ? 3 : info->portwidth >> 1); > > flash_write_cmd(info, sector, 0, (u32)cnt - 1); > while (cnt-- > 0) { > -- > 1.7.7.6 > > > _______________________________________________ > barebox mailing list > barebox@xxxxxxxxxxxxxxxxxxx > http://lists.infradead.org/mailman/listinfo/barebox -- Pengutronix e.K. | | Industrial Linux Solutions | http://www.pengutronix.de/ | Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 | Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 | _______________________________________________ barebox mailing list barebox@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/barebox