aboutsummaryrefslogtreecommitdiffstats
path: root/fs/jffs2
diff options
context:
space:
mode:
Diffstat (limited to 'fs/jffs2')
-rw-r--r--fs/jffs2/scan.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/fs/jffs2/scan.c b/fs/jffs2/scan.c
index 06637050749d..192b0bd21180 100644
--- a/fs/jffs2/scan.c
+++ b/fs/jffs2/scan.c
@@ -516,10 +516,15 @@ static int jffs2_scan_eraseblock (struct jffs2_sb_info *c, struct jffs2_eraseblo
516 516
517 if (sumptr) { 517 if (sumptr) {
518 err = jffs2_sum_scan_sumnode(c, jeb, sumptr, sumlen, &pseudo_random); 518 err = jffs2_sum_scan_sumnode(c, jeb, sumptr, sumlen, &pseudo_random);
519 if (err) 519
520 return err;
521 if (buf_size && sumlen > buf_size) 520 if (buf_size && sumlen > buf_size)
522 kfree(sumptr); 521 kfree(sumptr);
522 /* If it returns with a real error, bail.
523 If it returns positive, that's a block classification
524 (i.e. BLK_STATE_xxx) so return that too.
525 If it returns zero, fall through to full scan. */
526 if (err)
527 return err;
523 } 528 }
524 } 529 }
525 530