]> git.ipfire.org Git - thirdparty/u-boot.git/commitdiff
mtd: spi-nor: Fix return value of s25_s28_mdp_ready()
authorTakahiro Kuwano <Takahiro.Kuwano@infineon.com>
Mon, 28 Jul 2025 01:13:58 +0000 (10:13 +0900)
committerTom Rini <trini@konsulko.com>
Thu, 7 Aug 2025 17:14:35 +0000 (11:14 -0600)
s25_s28_mdp_ready() returns 1 when spansion_sr_ready() returns negative
value (error code). Fix this problem by following Linux implementation.

Fixes: 1c3dd193b5b ("mtd: spi-nor-core: Add fixups for Cypress s25hl-t/s25hs-t")
Reported-by: Hiroyuki Saito <Hiroyuki.Saito2@infineon.com>
Signed-off-by: Takahiro Kuwano <Takahiro.Kuwano@infineon.com>
Reviewed-by: Tudor Ambarus <tudor.ambarus@linaro.org>
drivers/mtd/spi/spi-nor-core.c

index 655bf3aaf81ff21a558dee2e9fe2932e42ea37ac..76c33b243682d73fea115dececf58d1d83439e9f 100644 (file)
@@ -3784,8 +3784,10 @@ static int s25_s28_mdp_ready(struct spi_nor *nor)
 
        for (addr = 0; addr < nor->mtd.size; addr += SZ_128M) {
                ret = spansion_sr_ready(nor, addr, nor->rdsr_dummy);
-               if (!ret)
+               if (ret < 0)
                        return ret;
+               else if (ret == 0)
+                       return 0;
        }
 
        return 1;