]> www.pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - fs/jffs2/write.c
[JFFS2] Quiet lockdep false positive.
[linux-2.6-omap-h63xx.git] / fs / jffs2 / write.c
index 665fce9797d38d4569a92056f1391bdb5c0a9279..87891bdd7915e24f4d583be3fca0b11a2446b8c2 100644 (file)
@@ -438,10 +438,10 @@ int jffs2_do_create(struct jffs2_sb_info *c, struct jffs2_inode_info *dir_f, str
        ret = jffs2_reserve_space(c, sizeof(*ri), &alloclen, ALLOC_NORMAL,
                                JFFS2_SUMMARY_INODE_SIZE);
        D1(printk(KERN_DEBUG "jffs2_do_create(): reserved 0x%x bytes\n", alloclen));
-       if (ret) {
-               mutex_unlock(&f->sem);
+       if (ret)
                return ret;
-       }
+
+       mutex_lock(&f->sem);
 
        ri->data_crc = cpu_to_je32(0);
        ri->node_crc = cpu_to_je32(crc32(0, ri, sizeof(*ri)-8));