st_smi: Fix bug in flash_print_info()
authorArmando Visconti <armando.visconti@st.com>
Mon, 7 May 2012 07:30:28 +0000 (13:00 +0530)
committerAlbert ARIBAUD <albert.u.boot@aribaud.net>
Sat, 7 Jul 2012 12:07:39 +0000 (14:07 +0200)
If the flash size was smaller than 1MB then flash_print_info()
was erroneously reporting 0 MB.

Signed-off-by: Armando Visconti <armando.visconti@st.com>
Signed-off-by: Amit Virdi <amit.virdi@st.com>
Signed-off-by: Stefan Roese <sr@denx.de>
drivers/mtd/st_smi.c

index 976b097..5378b57 100644 (file)
@@ -471,8 +471,13 @@ void flash_print_info(flash_info_t *info)
                puts("missing or unknown FLASH type\n");
                return;
        }
-       printf("  Size: %ld MB in %d Sectors\n",
-              info->size >> 20, info->sector_count);
+
+       if (info->size >= 0x100000)
+               printf("  Size: %ld MB in %d Sectors\n",
+                      info->size >> 20, info->sector_count);
+       else
+               printf("  Size: %ld KB in %d Sectors\n",
+                      info->size >> 10, info->sector_count);
 
        puts("  Sector Start Addresses:");
        for (i = 0; i < info->sector_count; ++i) {