diff options
Diffstat (limited to 'fs/jffs2/write.c')
| -rw-r--r-- | fs/jffs2/write.c | 6 | 
1 files changed, 3 insertions, 3 deletions
| diff --git a/fs/jffs2/write.c b/fs/jffs2/write.c index 665fce9797d..87891bdd791 100644 --- a/fs/jffs2/write.c +++ b/fs/jffs2/write.c @@ -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)); | 
