diff options
author | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-01-22 22:32:13 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-01-22 22:32:13 -0500 |
commit | ebcccd14b73831fa7fbc197e1d2b9c710a65731e (patch) | |
tree | 88af3e74135bdb3d0af7bc9ef48de0c2f879fcbb /fs/jffs2/scan.c | |
parent | e00154891137e3b0659556b877d45a16cabd700c (diff) | |
parent | 9cdf083f981b8d37b3212400a359368661385099 (diff) |
Merge git://git.infradead.org/mtd-2.6
* git://git.infradead.org/mtd-2.6: (84 commits)
[JFFS2] debug.h: include <linux/sched.h> for current->pid
[MTD] OneNAND: Handle DDP chip boundary during read-while-load
[MTD] OneNAND: return ecc error code only when 2-bit ecc occurs
[MTD] OneNAND: Implement read-while-load
[MTD] OneNAND: fix onenand_wait bug in read ecc error
[MTD] OneNAND: release CPU in cycles
[MTD] OneNAND: add subpage write support
[MTD] OneNAND: fix onenand_wait bug
[JFFS2] use the ref_offset macro
[JFFS2] Reschedule in loops
[JFFS2] Fix error-path leak in summary scan
[JFFS2] add cond_resched() when garbage collecting deletion dirent
[MTD] Nuke IVR leftovers
[MTD] OneNAND: fix oob handling in recent oob patch
[MTD] Fix ssfdc blksize typo
[JFFS2] replace kmalloc+memset with kzalloc
[MTD] Fix SSFDC build for variable blocksize.
[MTD] ESB2ROM uses PCI
[MTD] of_device-based physmap driver
[MTD] Support combined RedBoot FIS directory and configuration area
...
Diffstat (limited to 'fs/jffs2/scan.c')
-rw-r--r-- | fs/jffs2/scan.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/fs/jffs2/scan.c b/fs/jffs2/scan.c index e2413466ddd5..3af746eaff0e 100644 --- a/fs/jffs2/scan.c +++ b/fs/jffs2/scan.c | |||
@@ -128,17 +128,19 @@ int jffs2_scan_medium(struct jffs2_sb_info *c) | |||
128 | } | 128 | } |
129 | 129 | ||
130 | if (jffs2_sum_active()) { | 130 | if (jffs2_sum_active()) { |
131 | s = kmalloc(sizeof(struct jffs2_summary), GFP_KERNEL); | 131 | s = kzalloc(sizeof(struct jffs2_summary), GFP_KERNEL); |
132 | if (!s) { | 132 | if (!s) { |
133 | kfree(flashbuf); | ||
133 | JFFS2_WARNING("Can't allocate memory for summary\n"); | 134 | JFFS2_WARNING("Can't allocate memory for summary\n"); |
134 | return -ENOMEM; | 135 | return -ENOMEM; |
135 | } | 136 | } |
136 | memset(s, 0, sizeof(struct jffs2_summary)); | ||
137 | } | 137 | } |
138 | 138 | ||
139 | for (i=0; i<c->nr_blocks; i++) { | 139 | for (i=0; i<c->nr_blocks; i++) { |
140 | struct jffs2_eraseblock *jeb = &c->blocks[i]; | 140 | struct jffs2_eraseblock *jeb = &c->blocks[i]; |
141 | 141 | ||
142 | cond_resched(); | ||
143 | |||
142 | /* reset summary info for next eraseblock scan */ | 144 | /* reset summary info for next eraseblock scan */ |
143 | jffs2_sum_reset_collected(s); | 145 | jffs2_sum_reset_collected(s); |
144 | 146 | ||