ChangeSet 1.2165, 2004/11/19 08:47:38-08:00, maneesh@in.ibm.com [PATCH] fix oops in sysfs_remove_dir() The following patch should avoid the sysfs_remove_dir() oops you are seeing while device removal. It anyway fixes the obvious error and is needed. But it will not make any change to the first error you are seeing while connecting the device. o Following patch avoids the sysfs_remove_dir() oops when it is passed a kobject with NULL dentry. Signed-off-by: Maneesh Soni Signed-off-by: Greg Kroah-Hartman fs/sysfs/dir.c | 3 ++- 1 files changed, 2 insertions(+), 1 deletion(-) diff -Nru a/fs/sysfs/dir.c b/fs/sysfs/dir.c --- a/fs/sysfs/dir.c 2004-11-19 11:36:39 -08:00 +++ b/fs/sysfs/dir.c 2004-11-19 11:36:39 -08:00 @@ -268,7 +268,7 @@ void sysfs_remove_dir(struct kobject * kobj) { struct dentry * dentry = dget(kobj->dentry); - struct sysfs_dirent * parent_sd = dentry->d_fsdata; + struct sysfs_dirent * parent_sd; struct sysfs_dirent * sd, * tmp; if (!dentry) @@ -276,6 +276,7 @@ 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;