[PATCH] mtd: nand: mxs_nand_spl: don't read useless pages
Michael Nazzareno Trimarchi
michael at amarulasolutions.com
Fri Nov 25 16:35:35 CET 2022
On Sun, Nov 20, 2022 at 10:57 AM Dario Binacchi
<dario.binacchi at amarulasolutions.com> wrote:
>
> The patch prevents pages beyond the last from being unnecessarily read.
> This occurs when the last page to be read is not the last page of the
> last block. Before this change we would have read all the pages up to
> the end of the last block.
>
> Suggested-by: Michael Trimarchi <michael at amarulasolutions.com>
> Co-developed-by: Michael Trimarchi <michael at amarulasolutions.com>
> Signed-off-by: Michael Trimarchi <michael at amarulasolutions.com>
> Signed-off-by: Dario Binacchi <dario.binacchi at amarulasolutions.com>
>
Acked-by: Michael Trimarchi <michael at amarulasolutions.com>
> ---
>
> drivers/mtd/nand/raw/mxs_nand_spl.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/mtd/nand/raw/mxs_nand_spl.c b/drivers/mtd/nand/raw/mxs_nand_spl.c
> index ef03b7789dd9..300662994cf2 100644
> --- a/drivers/mtd/nand/raw/mxs_nand_spl.c
> +++ b/drivers/mtd/nand/raw/mxs_nand_spl.c
> @@ -257,7 +257,7 @@ int nand_spl_load_image(uint32_t offs, unsigned int size, void *dst)
> while (block <= lastblock && size > 0) {
> if (!is_badblock(mtd, mtd->erasesize * block, 1)) {
> /* Skip bad blocks */
> - while (page < nand_page_per_block) {
> + while (page < nand_page_per_block && size) {
> int curr_page = nand_page_per_block * block + page;
>
> if (mxs_read_page_ecc(mtd, page_buf, curr_page) < 0) {
> --
> 2.32.0
>
--
Michael Nazzareno Trimarchi
Co-Founder & Chief Executive Officer
M. +39 347 913 2170
michael at amarulasolutions.com
__________________________________
Amarula Solutions BV
Joop Geesinkweg 125, 1114 AB, Amsterdam, NL
T. +31 (0)85 111 9172
info at amarulasolutions.com
www.amarulasolutions.com
More information about the U-Boot
mailing list