]> git.dujemihanovic.xyz Git - u-boot.git/commitdiff
cmd: sf: Print error on test failure
authorSean Anderson <seanga2@gmail.com>
Fri, 5 Feb 2021 04:11:07 +0000 (23:11 -0500)
committerJagan Teki <jagan@amarulasolutions.com>
Fri, 26 Feb 2021 10:18:00 +0000 (15:48 +0530)
The sf test command is used to test spi flashes (and spi masters). Printing
the exact error code is very helpful to those debugging the spi stack.

Signed-off-by: Sean Anderson <seanga2@gmail.com>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Pratyush Yadav <p.yadav@ti.com>
Reviewed-by: Jagan Teki <jagan@amarulasolutions.com>
cmd/sf.c

index de80fcd38b08a237753679d46e8f18fdf8016a58..46346fb9d432fbc8eeaf05f5feaddd823bb79528 100644 (file)
--- a/cmd/sf.c
+++ b/cmd/sf.c
@@ -445,20 +445,22 @@ static int spi_flash_test(struct spi_flash *flash, uint8_t *buf, ulong len,
                           ulong offset, uint8_t *vbuf)
 {
        struct test_info test;
-       int i;
+       int err, i;
 
        printf("SPI flash test:\n");
        memset(&test, '\0', sizeof(test));
        test.base_ms = get_timer(0);
        test.bytes = len;
-       if (spi_flash_erase(flash, offset, len)) {
-               printf("Erase failed\n");
+       err = spi_flash_erase(flash, offset, len);
+       if (err) {
+               printf("Erase failed (err = %d)\n", err);
                return -1;
        }
        spi_test_next_stage(&test);
 
-       if (spi_flash_read(flash, offset, len, vbuf)) {
-               printf("Check read failed\n");
+       err = spi_flash_read(flash, offset, len, vbuf);
+       if (err) {
+               printf("Check read failed (err = %d)\n", err);
                return -1;
        }
        for (i = 0; i < len; i++) {
@@ -471,15 +473,17 @@ static int spi_flash_test(struct spi_flash *flash, uint8_t *buf, ulong len,
        }
        spi_test_next_stage(&test);
 
-       if (spi_flash_write(flash, offset, len, buf)) {
-               printf("Write failed\n");
+       err = spi_flash_write(flash, offset, len, buf);
+       if (err) {
+               printf("Write failed (err = %d)\n", err);
                return -1;
        }
        memset(vbuf, '\0', len);
        spi_test_next_stage(&test);
 
-       if (spi_flash_read(flash, offset, len, vbuf)) {
-               printf("Read failed\n");
+       err = spi_flash_read(flash, offset, len, vbuf);
+       if (err) {
+               printf("Read failed (ret = %d)\n", err);
                return -1;
        }
        spi_test_next_stage(&test);