This patch now enabled this cfi-mtd wrapper to correctly detect and
erase the last sector in an NOR FLASH device.

Signed-off-by: Stefan Roese <[email protected]>
---
 drivers/mtd/cfi_mtd.c |    9 +++++++--
 1 files changed, 7 insertions(+), 2 deletions(-)

diff --git a/drivers/mtd/cfi_mtd.c b/drivers/mtd/cfi_mtd.c
index f03e4fb..4a76917 100644
--- a/drivers/mtd/cfi_mtd.c
+++ b/drivers/mtd/cfi_mtd.c
@@ -43,11 +43,16 @@ static int cfi_mtd_erase(struct mtd_info *mtd, struct 
erase_info *instr)
        int s_last = -1;
        int error, sect;
 
-       for (sect = 0; sect < fi->sector_count - 1; sect++) {
+       for (sect = 0; sect < fi->sector_count; sect++) {
                if (a_start == fi->start[sect])
                        s_first = sect;
 
-               if (a_end == fi->start[sect + 1]) {
+               if (sect < fi->sector_count - 1) {
+                       if (a_end == fi->start[sect + 1]) {
+                               s_last = sect;
+                               break;
+                       }
+               } else {
                        s_last = sect;
                        break;
                }
-- 
1.6.2.5

_______________________________________________
U-Boot mailing list
[email protected]
http://lists.denx.de/mailman/listinfo/u-boot

Reply via email to