Skip to content

Commit 93942b7

Browse files
Arseniy Krasnovmiquelraynal
authored andcommitted
mtd: rawnand: meson: fix bitmask for length in command word
Valid mask is 0x3FFF, without this patch the following problems were found: 1) [ 0.938914] Could not find a valid ONFI parameter page, trying bit-wise majority to recover it [ 0.947384] ONFI parameter recovery failed, aborting 2) Read with disabled ECC mode was broken. Fixes: 8fae856 ("mtd: rawnand: meson: add support for Amlogic NAND flash controller") Cc: <Stable@vger.kernel.org> Signed-off-by: Arseniy Krasnov <AVKrasnov@sberdevices.ru> Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com> Link: https://lore.kernel.org/linux-mtd/3794ffbf-dfea-e96f-1f97-fe235b005e19@sberdevices.ru
1 parent 0c30896 commit 93942b7

1 file changed

Lines changed: 3 additions & 3 deletions

File tree

drivers/mtd/nand/raw/meson_nand.c

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -280,7 +280,7 @@ static void meson_nfc_cmd_access(struct nand_chip *nand, int raw, bool dir,
280280

281281
if (raw) {
282282
len = mtd->writesize + mtd->oobsize;
283-
cmd = (len & GENMASK(5, 0)) | scrambler | DMA_DIR(dir);
283+
cmd = (len & GENMASK(13, 0)) | scrambler | DMA_DIR(dir);
284284
writel(cmd, nfc->reg_base + NFC_REG_CMD);
285285
return;
286286
}
@@ -544,7 +544,7 @@ static int meson_nfc_read_buf(struct nand_chip *nand, u8 *buf, int len)
544544
if (ret)
545545
goto out;
546546

547-
cmd = NFC_CMD_N2M | (len & GENMASK(5, 0));
547+
cmd = NFC_CMD_N2M | (len & GENMASK(13, 0));
548548
writel(cmd, nfc->reg_base + NFC_REG_CMD);
549549

550550
meson_nfc_drain_cmd(nfc);
@@ -568,7 +568,7 @@ static int meson_nfc_write_buf(struct nand_chip *nand, u8 *buf, int len)
568568
if (ret)
569569
return ret;
570570

571-
cmd = NFC_CMD_M2N | (len & GENMASK(5, 0));
571+
cmd = NFC_CMD_M2N | (len & GENMASK(13, 0));
572572
writel(cmd, nfc->reg_base + NFC_REG_CMD);
573573

574574
meson_nfc_drain_cmd(nfc);

0 commit comments

Comments
 (0)