From: Paul Cercueil <paul@crapouillou.net> To: Miquel Raynal <miquel.raynal@bootlin.com> Cc: Richard Weinberger <richard@nod.at>, Vignesh Raghavendra <vigneshr@ti.com>, Harvey Hunt <harveyhuntnexus@gmail.com>, list@opendingux.net, linux-mtd@lists.infradead.org, linux-kernel@vger.kernel.org, linux-mips@vger.kernel.org, Paul Cercueil <paul@crapouillou.net>, stable@vger.kernel.org Subject: [PATCH v2 2/5] mtd: rawnand/davinci: Avoid duplicated page read Date: Sat, 16 Oct 2021 14:22:25 +0100 [thread overview] Message-ID: <20211016132228.40254-2-paul@crapouillou.net> (raw) In-Reply-To: <20211016132228.40254-1-paul@crapouillou.net> The function nand_davinci_read_page_hwecc_oob_first() first reads the OOB data, extracts the ECC information, programs the ECC hardware before reading the actual data in a loop. Right after the OOB data was read, it called nand_read_page_op() to reset the read cursor to the beginning of the page. This caused the first page to be read twice: in that call, and later in the loop. Address that issue by changing the call to nand_read_page_op() to nand_change_read_column_op(), which will only reset the read cursor. Cc: <stable@vger.kernel.org> # v5.2 Fixes: a0ac778eb82c ("mtd: rawnand: ingenic: Add support for the JZ4740") Signed-off-by: Paul Cercueil <paul@crapouillou.net> --- drivers/mtd/nand/raw/davinci_nand.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/mtd/nand/raw/davinci_nand.c b/drivers/mtd/nand/raw/davinci_nand.c index 89de24d3bb7a..2e6a0c1671be 100644 --- a/drivers/mtd/nand/raw/davinci_nand.c +++ b/drivers/mtd/nand/raw/davinci_nand.c @@ -401,7 +401,8 @@ static int nand_davinci_read_page_hwecc_oob_first(struct nand_chip *chip, if (ret) return ret; - ret = nand_read_page_op(chip, page, 0, NULL, 0); + /* Move read cursor to start of page */ + ret = nand_change_read_column_op(chip, 0, NULL, 0, false); if (ret) return ret; -- 2.33.0
WARNING: multiple messages have this Message-ID (diff)
From: Paul Cercueil <paul@crapouillou.net> To: Miquel Raynal <miquel.raynal@bootlin.com> Cc: Richard Weinberger <richard@nod.at>, Vignesh Raghavendra <vigneshr@ti.com>, Harvey Hunt <harveyhuntnexus@gmail.com>, list@opendingux.net, linux-mtd@lists.infradead.org, linux-kernel@vger.kernel.org, linux-mips@vger.kernel.org, Paul Cercueil <paul@crapouillou.net>, stable@vger.kernel.org Subject: [PATCH v2 2/5] mtd: rawnand/davinci: Avoid duplicated page read Date: Sat, 16 Oct 2021 14:22:25 +0100 [thread overview] Message-ID: <20211016132228.40254-2-paul@crapouillou.net> (raw) In-Reply-To: <20211016132228.40254-1-paul@crapouillou.net> The function nand_davinci_read_page_hwecc_oob_first() first reads the OOB data, extracts the ECC information, programs the ECC hardware before reading the actual data in a loop. Right after the OOB data was read, it called nand_read_page_op() to reset the read cursor to the beginning of the page. This caused the first page to be read twice: in that call, and later in the loop. Address that issue by changing the call to nand_read_page_op() to nand_change_read_column_op(), which will only reset the read cursor. Cc: <stable@vger.kernel.org> # v5.2 Fixes: a0ac778eb82c ("mtd: rawnand: ingenic: Add support for the JZ4740") Signed-off-by: Paul Cercueil <paul@crapouillou.net> --- drivers/mtd/nand/raw/davinci_nand.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/mtd/nand/raw/davinci_nand.c b/drivers/mtd/nand/raw/davinci_nand.c index 89de24d3bb7a..2e6a0c1671be 100644 --- a/drivers/mtd/nand/raw/davinci_nand.c +++ b/drivers/mtd/nand/raw/davinci_nand.c @@ -401,7 +401,8 @@ static int nand_davinci_read_page_hwecc_oob_first(struct nand_chip *chip, if (ret) return ret; - ret = nand_read_page_op(chip, page, 0, NULL, 0); + /* Move read cursor to start of page */ + ret = nand_change_read_column_op(chip, 0, NULL, 0, false); if (ret) return ret; -- 2.33.0 ______________________________________________________ Linux MTD discussion mailing list http://lists.infradead.org/mailman/listinfo/linux-mtd/
next prev parent reply other threads:[~2021-10-16 13:22 UTC|newest] Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top 2021-10-16 13:22 [PATCH v2 1/5] mtd: rawnand/davinci: Don't calculate ECC when reading page Paul Cercueil 2021-10-16 13:22 ` Paul Cercueil 2021-10-16 13:22 ` Paul Cercueil [this message] 2021-10-16 13:22 ` [PATCH v2 2/5] mtd: rawnand/davinci: Avoid duplicated page read Paul Cercueil 2021-11-19 18:44 ` Miquel Raynal 2021-11-19 18:44 ` Miquel Raynal 2021-10-16 13:22 ` [PATCH v2 3/5] mtd: rawnand/davinci: Rewrite function description Paul Cercueil 2021-10-16 13:22 ` Paul Cercueil 2021-11-19 18:44 ` Miquel Raynal 2021-11-19 18:44 ` Miquel Raynal 2021-10-16 13:22 ` [PATCH v2 4/5] mtd: rawnand: Export nand_read_page_hwecc_oob_first() Paul Cercueil 2021-10-16 13:22 ` Paul Cercueil 2021-11-19 18:43 ` Miquel Raynal 2021-11-19 18:43 ` Miquel Raynal 2021-10-16 13:22 ` [PATCH v2 5/5] mtd: rawnand/ingenic: JZ4740 needs 'oob_first' read page function Paul Cercueil 2021-10-16 13:22 ` Paul Cercueil 2021-11-19 18:43 ` Miquel Raynal 2021-11-19 18:43 ` Miquel Raynal 2021-11-19 18:44 ` [PATCH v2 1/5] mtd: rawnand/davinci: Don't calculate ECC when reading page Miquel Raynal 2021-11-19 18:44 ` Miquel Raynal
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20211016132228.40254-2-paul@crapouillou.net \ --to=paul@crapouillou.net \ --cc=harveyhuntnexus@gmail.com \ --cc=linux-kernel@vger.kernel.org \ --cc=linux-mips@vger.kernel.org \ --cc=linux-mtd@lists.infradead.org \ --cc=list@opendingux.net \ --cc=miquel.raynal@bootlin.com \ --cc=richard@nod.at \ --cc=stable@vger.kernel.org \ --cc=vigneshr@ti.com \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.