aboutsummaryrefslogtreecommitdiff
path: root/fs/sysfs/dir.c
diff options
context:
space:
mode:
authorTony Luck <tony.luck@intel.com>2006-01-05 08:52:11 -0800
committerTony Luck <tony.luck@intel.com>2006-01-05 08:52:11 -0800
commit5c3eee79128c372a81a83665be2332a000944280 (patch)
treee44331d36d63adc971003cc32540d0cb0c019525 /fs/sysfs/dir.c
parent408045afbdb46e109a1a44e67af688e9ddf7ad66 (diff)
parentdb9edfd7e339ca4113153d887e782dd05be5a9eb (diff)
Auto-update from upstream
Diffstat (limited to 'fs/sysfs/dir.c')
-rw-r--r--fs/sysfs/dir.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/fs/sysfs/dir.c b/fs/sysfs/dir.c
index 59734ba1ee6..d3678038217 100644
--- a/fs/sysfs/dir.c
+++ b/fs/sysfs/dir.c
@@ -112,7 +112,11 @@ static int create_dir(struct kobject * k, struct dentry * p,
}
}
if (error && (error != -EEXIST)) {
- sysfs_put((*d)->d_fsdata);
+ struct sysfs_dirent *sd = (*d)->d_fsdata;
+ if (sd) {
+ list_del_init(&sd->s_sibling);
+ sysfs_put(sd);
+ }
d_drop(*d);
}
dput(*d);