2nd problem with read_subpage() ?

Artem Bityutskiy dedekind at infradead.org
Tue Jul 29 02:53:52 EDT 2008


Glance at nand_do_read_ops():


if (likely(sndcmd)) {
        chip->cmdfunc(mtd, NAND_CMD_READ0, 0x00, page);
        sndcmd = 0;
}

/* Now read the page into the buffer */
if (unlikely(ops->mode == MTD_OOB_RAW))
        ret = chip->ecc.read_page_raw(mtd, chip, bufpoi);
else if (!aligned && NAND_SUBPAGE_READ(chip) && !oob)
        ret = chip->ecc.read_subpage(mtd, chip, col, bytes, bufpoi);
else
        ret = chip->ecc.read_page(mtd, chip, bufpoi);
if (ret < 0)
        break;


What happens is that first NAND_CMD_READ0 command is sent, and the
chip reads _full_ page 0. Then read_subpage() is called and chip
reads the subpage again. Does it make any sense?

-- 
Best regards,
Artem Bityutskiy (Битюцкий Артём)




More information about the linux-mtd mailing list