From c4427d685390b7239abbda44a40043cf56e9e7d3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Anders=20Grafstr=C3=B6m?= Date: Wed, 12 Mar 2008 20:29:23 +0100 Subject: [PATCH] --- yaml --- r: 93069 b: refs/heads/master c: 8a0f572397ca0673c65c1662946014bb73b5cdc6 h: refs/heads/master i: 93067: 81cf647d95cc4d81bce28ae483d4c4eadbe322ac v: v3 --- [refs] | 2 +- trunk/fs/jffs2/erase.c | 7 ++++++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/[refs] b/[refs] index 487d99333ccb..8f2e67523531 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: e43fe686e48835ca027559a068bbe0b6d264a254 +refs/heads/master: 8a0f572397ca0673c65c1662946014bb73b5cdc6 diff --git a/trunk/fs/jffs2/erase.c b/trunk/fs/jffs2/erase.c index 65d91943fc2d..5e2719cb6930 100644 --- a/trunk/fs/jffs2/erase.c +++ b/trunk/fs/jffs2/erase.c @@ -350,9 +350,11 @@ static int jffs2_block_check_erase(struct jffs2_sb_info *c, struct jffs2_erasebl break; } while(--retlen); c->mtd->unpoint(c->mtd, ebuf, jeb->offset, c->sector_size); - if (retlen) + if (retlen) { printk(KERN_WARNING "Newly-erased block contained word 0x%lx at offset 0x%08tx\n", *wordebuf, jeb->offset + c->sector_size-retlen*sizeof(*wordebuf)); + return -EIO; + } return 0; } do_flash_read: @@ -373,10 +375,12 @@ static int jffs2_block_check_erase(struct jffs2_sb_info *c, struct jffs2_erasebl ret = c->mtd->read(c->mtd, ofs, readlen, &retlen, ebuf); if (ret) { printk(KERN_WARNING "Read of newly-erased block at 0x%08x failed: %d. Putting on bad_list\n", ofs, ret); + ret = -EIO; goto fail; } if (retlen != readlen) { printk(KERN_WARNING "Short read from newly-erased block at 0x%08x. Wanted %d, got %zd\n", ofs, readlen, retlen); + ret = -EIO; goto fail; } for (i=0; i