diff options
author | Robert ABEL <rabel@cit-ec.uni-bielefeld.de> | 2014-05-05 09:17:20 -0400 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2014-05-27 17:33:17 -0400 |
commit | 9f70a40128a4ddceffb6d21dd490f6ab4bc34c97 (patch) | |
tree | a75b7b89918c7e027e3c039bc2873e96eb57db7d /fs/sysfs/group.c | |
parent | 78e1da627040ca49c41b456db707342ef210ae0f (diff) |
sysfs: fix attribute_group bin file path on removal
Cody Schafer already fixed binary file creation for attribute groups, see [1].
This patch makes the appropriate changes for binary file removal
of attribute groups.
[1]: http://lkml.org/lkml/2014/2/27/832
Signed-off-by: Robert ABEL <rabel@cit-ec.uni-bielefeld.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'fs/sysfs/group.c')
-rw-r--r-- | fs/sysfs/group.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/fs/sysfs/group.c b/fs/sysfs/group.c index aa0406895b53..7d2a860ba788 100644 --- a/fs/sysfs/group.c +++ b/fs/sysfs/group.c | |||
@@ -18,7 +18,7 @@ | |||
18 | #include "sysfs.h" | 18 | #include "sysfs.h" |
19 | 19 | ||
20 | 20 | ||
21 | static void remove_files(struct kernfs_node *parent, struct kobject *kobj, | 21 | static void remove_files(struct kernfs_node *parent, |
22 | const struct attribute_group *grp) | 22 | const struct attribute_group *grp) |
23 | { | 23 | { |
24 | struct attribute *const *attr; | 24 | struct attribute *const *attr; |
@@ -29,7 +29,7 @@ static void remove_files(struct kernfs_node *parent, struct kobject *kobj, | |||
29 | kernfs_remove_by_name(parent, (*attr)->name); | 29 | kernfs_remove_by_name(parent, (*attr)->name); |
30 | if (grp->bin_attrs) | 30 | if (grp->bin_attrs) |
31 | for (bin_attr = grp->bin_attrs; *bin_attr; bin_attr++) | 31 | for (bin_attr = grp->bin_attrs; *bin_attr; bin_attr++) |
32 | sysfs_remove_bin_file(kobj, *bin_attr); | 32 | kernfs_remove_by_name(parent, (*bin_attr)->attr.name); |
33 | } | 33 | } |
34 | 34 | ||
35 | static int create_files(struct kernfs_node *parent, struct kobject *kobj, | 35 | static int create_files(struct kernfs_node *parent, struct kobject *kobj, |
@@ -62,7 +62,7 @@ static int create_files(struct kernfs_node *parent, struct kobject *kobj, | |||
62 | break; | 62 | break; |
63 | } | 63 | } |
64 | if (error) { | 64 | if (error) { |
65 | remove_files(parent, kobj, grp); | 65 | remove_files(parent, grp); |
66 | goto exit; | 66 | goto exit; |
67 | } | 67 | } |
68 | } | 68 | } |
@@ -79,7 +79,7 @@ static int create_files(struct kernfs_node *parent, struct kobject *kobj, | |||
79 | break; | 79 | break; |
80 | } | 80 | } |
81 | if (error) | 81 | if (error) |
82 | remove_files(parent, kobj, grp); | 82 | remove_files(parent, grp); |
83 | } | 83 | } |
84 | exit: | 84 | exit: |
85 | return error; | 85 | return error; |
@@ -224,7 +224,7 @@ void sysfs_remove_group(struct kobject *kobj, | |||
224 | kernfs_get(kn); | 224 | kernfs_get(kn); |
225 | } | 225 | } |
226 | 226 | ||
227 | remove_files(kn, kobj, grp); | 227 | remove_files(kn, grp); |
228 | if (grp->name) | 228 | if (grp->name) |
229 | kernfs_remove(kn); | 229 | kernfs_remove(kn); |
230 | 230 | ||