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); |
