This commit was manufactured by cvs2svn to create tag
[linux-2.6.git] / fs / sysfs / dir.c
index b0a7905..efa6401 100644 (file)
@@ -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;
 }