[U-Boot] [PATCH] cfi: fix the incomplete erased status check in buffer write
htbegin
hotforest at gmail.com
Sun Feb 19 12:48:37 CET 2012
Without the fix, flash_write_cfibuffer will return timeout error
instead of not-erased error when all bytes in the first word of
a sector are 0xFF and other words are not.
Signed-off-by: htbegin <hotforest at gmail.com>
Cc: Stefan Roese <sr at denx.de>
---
drivers/mtd/cfi_flash.c | 4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/mtd/cfi_flash.c b/drivers/mtd/cfi_flash.c
index 722c3fc..35294bc 100644
--- a/drivers/mtd/cfi_flash.c
+++ b/drivers/mtd/cfi_flash.c
@@ -873,7 +873,7 @@ static int flash_write_cfibuffer (flash_info_t * info, ulong dest, uchar * cp,
void *src = cp;
void *dst = (void *)dest;
void *dst2 = dst;
- int flag = 0;
+ int flag = 1;
uint offset = 0;
unsigned int shift;
uchar write_cmd;
@@ -898,7 +898,7 @@ static int flash_write_cfibuffer (flash_info_t * info, ulong dest, uchar * cp,
cnt = len >> shift;
- while ((cnt-- > 0) && (flag == 0)) {
+ while ((cnt-- > 0) && (flag == 1)) {
switch (info->portwidth) {
case FLASH_CFI_8BIT:
flag = ((flash_read8(dst2) & flash_read8(src)) ==
--
1.7.4.1
More information about the U-Boot
mailing list