]> git.proxmox.com Git - mirror_qemu.git/blobdiff - hw/block/nand.c
nand: fix flash erase when oob is in memory
[mirror_qemu.git] / hw / block / nand.c
index a68266f88788aa4ce8c1e775c00b93e7e3f4fa5d..f0e34139fec887f6ddd6f61365a09131524759bf 100644 (file)
@@ -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);