diff options
Diffstat (limited to 'fs/jffs2')
-rw-r--r-- | fs/jffs2/scan.c | 20 |
1 files changed, 9 insertions, 11 deletions
diff --git a/fs/jffs2/scan.c b/fs/jffs2/scan.c index f99464833bb2..c02737375854 100644 --- a/fs/jffs2/scan.c +++ b/fs/jffs2/scan.c | |||
@@ -96,18 +96,16 @@ int jffs2_scan_medium(struct jffs2_sb_info *c) | |||
96 | #ifndef __ECOS | 96 | #ifndef __ECOS |
97 | size_t pointlen, try_size; | 97 | size_t pointlen, try_size; |
98 | 98 | ||
99 | if (c->mtd->point) { | 99 | ret = mtd_point(c->mtd, 0, c->mtd->size, &pointlen, |
100 | ret = mtd_point(c->mtd, 0, c->mtd->size, &pointlen, | 100 | (void **)&flashbuf, NULL); |
101 | (void **)&flashbuf, NULL); | 101 | if (!ret && pointlen < c->mtd->size) { |
102 | if (!ret && pointlen < c->mtd->size) { | 102 | /* Don't muck about if it won't let us point to the whole flash */ |
103 | /* Don't muck about if it won't let us point to the whole flash */ | 103 | D1(printk(KERN_DEBUG "MTD point returned len too short: 0x%zx\n", pointlen)); |
104 | D1(printk(KERN_DEBUG "MTD point returned len too short: 0x%zx\n", pointlen)); | 104 | mtd_unpoint(c->mtd, 0, pointlen); |
105 | mtd_unpoint(c->mtd, 0, pointlen); | 105 | flashbuf = NULL; |
106 | flashbuf = NULL; | ||
107 | } | ||
108 | if (ret && ret != -EOPNOTSUPP) | ||
109 | D1(printk(KERN_DEBUG "MTD point failed %d\n", ret)); | ||
110 | } | 106 | } |
107 | if (ret && ret != -EOPNOTSUPP) | ||
108 | D1(printk(KERN_DEBUG "MTD point failed %d\n", ret)); | ||
111 | #endif | 109 | #endif |
112 | if (!flashbuf) { | 110 | if (!flashbuf) { |
113 | /* For NAND it's quicker to read a whole eraseblock at a time, | 111 | /* For NAND it's quicker to read a whole eraseblock at a time, |