Message ID | alpine.DEB.2.02.1511131335150.11990@lnxricardw1.se.axis.com |
---|---|
State | New |
Headers | show |
On Fri, 13 Nov 2015, Ricard Wanderlof wrote: > For the "main area on file, oob in memory" case, fix the shifts so that > we erase the correct number of pages. > ... Sorry about the duplicate post. Initially used the wrong email address when subscribing so when I subscribed with the correct one one it seems that the first post was submitted as well as the second. /Ricard
(to: Kevin and cc: qemu-block) On Fri, Nov 13, 2015 at 02:17:28PM +0100, Ricard Wanderlöf wrote: > > For the "main area on file, oob in memory" case, fix the shifts so that > we erase the correct number of pages. > > Signed-off-by: Ricard Wanderlöf <ricardw@axis.com> > --- > hw/block/nand.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/hw/block/nand.c b/hw/block/nand.c > index a68266f..f0e3413 100644 > --- a/hw/block/nand.c > +++ b/hw/block/nand.c > @@ -712,7 +712,7 @@ static void glue(nand_blk_erase_, PAGE_SIZE)(NANDFlashState *s) > memset(s->storage + (PAGE(addr) << OOB_SHIFT), > 0xff, OOB_SIZE << s->erase_shift); > i = SECTOR(addr); > - page = SECTOR(addr + (ADDR_SHIFT + s->erase_shift)); > + page = SECTOR(addr + (1 << (ADDR_SHIFT + s->erase_shift))); > for (; i < page; i ++) > if (blk_write(s->blk, i, iobuf, 1) < 0) { > printf("%s: write error in sector %" PRIu64 "\n", __func__, i); > -- > 1.7.10.4 > > -- > Ricard Wolf Wanderlöf ricardw(at)axis.com > Axis Communications AB, Lund, Sweden www.axis.com > Phone +46 46 272 2016 Fax +46 46 13 61 30 > >
Am 24.11.2015 um 06:39 hat Rabin Vincent geschrieben: > (to: Kevin and cc: qemu-block) Thanks for forwarding! > On Fri, Nov 13, 2015 at 02:17:28PM +0100, Ricard Wanderlöf wrote: > > > > For the "main area on file, oob in memory" case, fix the shifts so that > > we erase the correct number of pages. > > > > Signed-off-by: Ricard Wanderlöf <ricardw@axis.com> Thanks, applied to my block branch for 2.5. Kevin
diff --git a/hw/block/nand.c b/hw/block/nand.c index a68266f..f0e3413 100644 --- a/hw/block/nand.c +++ b/hw/block/nand.c @@ -712,7 +712,7 @@ static void glue(nand_blk_erase_, PAGE_SIZE)(NANDFlashState *s) memset(s->storage + (PAGE(addr) << OOB_SHIFT), 0xff, OOB_SIZE << s->erase_shift); i = SECTOR(addr); - page = SECTOR(addr + (ADDR_SHIFT + s->erase_shift)); + page = SECTOR(addr + (1 << (ADDR_SHIFT + s->erase_shift))); for (; i < page; i ++) if (blk_write(s->blk, i, iobuf, 1) < 0) { printf("%s: write error in sector %" PRIu64 "\n", __func__, i);
For the "main area on file, oob in memory" case, fix the shifts so that we erase the correct number of pages. Signed-off-by: Ricard Wanderlöf <ricardw@axis.com> --- hw/block/nand.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)