diff options
-rw-r--r-- | fs/jffs2/write.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/fs/jffs2/write.c b/fs/jffs2/write.c index bc6185933664..664c164aa67c 100644 --- a/fs/jffs2/write.c +++ b/fs/jffs2/write.c | |||
@@ -566,6 +566,9 @@ int jffs2_do_unlink(struct jffs2_sb_info *c, struct jffs2_inode_info *dir_f, | |||
566 | struct jffs2_full_dirent **prev = &dir_f->dents; | 566 | struct jffs2_full_dirent **prev = &dir_f->dents; |
567 | uint32_t nhash = full_name_hash(name, namelen); | 567 | uint32_t nhash = full_name_hash(name, namelen); |
568 | 568 | ||
569 | /* We don't actually want to reserve any space, but we do | ||
570 | want to be holding the alloc_sem when we write to flash */ | ||
571 | down(&c->alloc_sem); | ||
569 | down(&dir_f->sem); | 572 | down(&dir_f->sem); |
570 | 573 | ||
571 | while ((*prev) && (*prev)->nhash <= nhash) { | 574 | while ((*prev) && (*prev)->nhash <= nhash) { |