]> git.sur5r.net Git - u-boot/commitdiff
fix address of error message in mtest command
authorDavid Feng <fenghua@phytium.com.cn>
Wed, 12 Feb 2014 08:10:08 +0000 (16:10 +0800)
committerTom Rini <trini@ti.com>
Fri, 21 Feb 2014 16:06:13 +0000 (11:06 -0500)
This patch deal with error message of mtest command.
When test failed, the mtest command will output error information
that include memory address and value. But the address field is
not correct or misleading.

Signed-off-by: David Feng <fenghua@phytium.com.cn>
common/cmd_mem.c

index c3aab3d4b53ea68cf003840b8bdf3c09b95cf7d0..8d2cfc88cea6b9daa3d9ce828063c80e00e28205 100644 (file)
@@ -746,7 +746,8 @@ static ulong mem_test_alt(vu_long *buf, ulong start_addr, ulong end_addr,
                if (temp != pattern) {
                        printf("\nFAILURE: Address bit stuck high @ 0x%.8lx:"
                                " expected 0x%.8lx, actual 0x%.8lx\n",
-                               start_addr + offset, pattern, temp);
+                               start_addr + offset*sizeof(vu_long),
+                               pattern, temp);
                        errs++;
                        if (ctrlc())
                                return -1;
@@ -767,7 +768,8 @@ static ulong mem_test_alt(vu_long *buf, ulong start_addr, ulong end_addr,
                                printf("\nFAILURE: Address bit stuck low or"
                                        " shorted @ 0x%.8lx: expected 0x%.8lx,"
                                        " actual 0x%.8lx\n",
-                                       start_addr + offset, pattern, temp);
+                                       start_addr + offset*sizeof(vu_long),
+                                       pattern, temp);
                                errs++;
                                if (ctrlc())
                                        return -1;
@@ -807,7 +809,8 @@ static ulong mem_test_alt(vu_long *buf, ulong start_addr, ulong end_addr,
                if (temp != pattern) {
                        printf("\nFAILURE (read/write) @ 0x%.8lx:"
                                " expected 0x%.8lx, actual 0x%.8lx)\n",
-                               start_addr + offset, pattern, temp);
+                               start_addr + offset*sizeof(vu_long),
+                               pattern, temp);
                        errs++;
                        if (ctrlc())
                                return -1;
@@ -827,7 +830,8 @@ static ulong mem_test_alt(vu_long *buf, ulong start_addr, ulong end_addr,
                if (temp != anti_pattern) {
                        printf("\nFAILURE (read/write): @ 0x%.8lx:"
                                " expected 0x%.8lx, actual 0x%.8lx)\n",
-                               start_addr + offset, anti_pattern, temp);
+                               start_addr + offset*sizeof(vu_long),
+                               anti_pattern, temp);
                        errs++;
                        if (ctrlc())
                                return -1;
@@ -885,7 +889,7 @@ static ulong mem_test_quick(vu_long *buf, ulong start_addr, ulong end_addr,
 
                        printf("\nMem error @ 0x%08X: "
                                "found %08lX, expected %08lX\n",
-                               (uint)(uintptr_t)(start_addr + offset),
+                               (uint)(uintptr_t)(start_addr + offset*sizeof(vu_long)),
                                readback, val);
                        errs++;
                        if (ctrlc())