X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=fs%2Fsysfs%2Fdir.c;h=efa640161930aa2834a6e1bec5daa8ffdc5743d3;hb=a9fdee76789476a10f923f9fb3c84993042da3ac;hp=b0a7905431b1261e978dde9736547247fa208127;hpb=8d40237c730b8be87c1b80a5d96b9c603fefa829;p=linux-2.6.git diff --git a/fs/sysfs/dir.c b/fs/sysfs/dir.c index b0a790543..efa640161 100644 --- a/fs/sysfs/dir.c +++ b/fs/sysfs/dir.c @@ -268,7 +268,7 @@ void sysfs_remove_subdir(struct dentry * d) void sysfs_remove_dir(struct kobject * kobj) { struct dentry * dentry = dget(kobj->dentry); - struct sysfs_dirent * parent_sd; + struct sysfs_dirent * parent_sd = dentry->d_fsdata; struct sysfs_dirent * sd, * tmp; if (!dentry) @@ -276,7 +276,6 @@ void sysfs_remove_dir(struct kobject * kobj) pr_debug("sysfs %s: removing dir\n",dentry->d_name.name); down(&dentry->d_inode->i_sem); - parent_sd = dentry->d_fsdata; list_for_each_entry_safe(sd, tmp, &parent_sd->s_children, s_sibling) { if (!sd->s_element || !(sd->s_type & SYSFS_NOT_PINNED)) continue; @@ -351,8 +350,6 @@ static int sysfs_dir_close(struct inode *inode, struct file *file) list_del_init(&cursor->s_sibling); up(&dentry->d_inode->i_sem); - release_sysfs_dirent(cursor); - return 0; }