diff options
Diffstat (limited to 'fs/hppfs/hppfs_kern.c')
-rw-r--r-- | fs/hppfs/hppfs_kern.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/fs/hppfs/hppfs_kern.c b/fs/hppfs/hppfs_kern.c index 52930915bad8..a44dc5897399 100644 --- a/fs/hppfs/hppfs_kern.c +++ b/fs/hppfs/hppfs_kern.c | |||
@@ -171,12 +171,12 @@ static struct dentry *hppfs_lookup(struct inode *ino, struct dentry *dentry, | |||
171 | 171 | ||
172 | err = -ENOMEM; | 172 | err = -ENOMEM; |
173 | parent = HPPFS_I(ino)->proc_dentry; | 173 | parent = HPPFS_I(ino)->proc_dentry; |
174 | down(&parent->d_inode->i_sem); | 174 | mutex_lock(&parent->d_inode->i_mutex); |
175 | proc_dentry = d_lookup(parent, &dentry->d_name); | 175 | proc_dentry = d_lookup(parent, &dentry->d_name); |
176 | if(proc_dentry == NULL){ | 176 | if(proc_dentry == NULL){ |
177 | proc_dentry = d_alloc(parent, &dentry->d_name); | 177 | proc_dentry = d_alloc(parent, &dentry->d_name); |
178 | if(proc_dentry == NULL){ | 178 | if(proc_dentry == NULL){ |
179 | up(&parent->d_inode->i_sem); | 179 | mutex_unlock(&parent->d_inode->i_mutex); |
180 | goto out; | 180 | goto out; |
181 | } | 181 | } |
182 | new = (*parent->d_inode->i_op->lookup)(parent->d_inode, | 182 | new = (*parent->d_inode->i_op->lookup)(parent->d_inode, |
@@ -186,7 +186,7 @@ static struct dentry *hppfs_lookup(struct inode *ino, struct dentry *dentry, | |||
186 | proc_dentry = new; | 186 | proc_dentry = new; |
187 | } | 187 | } |
188 | } | 188 | } |
189 | up(&parent->d_inode->i_sem); | 189 | mutex_unlock(&parent->d_inode->i_mutex); |
190 | 190 | ||
191 | if(IS_ERR(proc_dentry)) | 191 | if(IS_ERR(proc_dentry)) |
192 | return(proc_dentry); | 192 | return(proc_dentry); |