diff --git a/fs/yaffs2/yaffs_fs.c b/fs/yaffs2/yaffs_fs.c --- a/fs/yaffs2/yaffs_fs.c +++ b/fs/yaffs2/yaffs_fs.c @@ -1200,7 +1200,8 @@ static int yaffs_setattr(struct dentry * error = -EPERM; } yaffs_GrossUnlock(dev); - error = inode_setattr(inode,attr); + if (!error) + error = inode_setattr(inode,attr); } return error; }