aboutsummaryrefslogtreecommitdiffstats
path: root/fs/sysfs/group.c
diff options
context:
space:
mode:
authorRobert ABEL <rabel@cit-ec.uni-bielefeld.de>2014-05-05 09:17:20 -0400
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2014-05-27 17:33:17 -0400
commit9f70a40128a4ddceffb6d21dd490f6ab4bc34c97 (patch)
treea75b7b89918c7e027e3c039bc2873e96eb57db7d /fs/sysfs/group.c
parent78e1da627040ca49c41b456db707342ef210ae0f (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.c10
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
21static void remove_files(struct kernfs_node *parent, struct kobject *kobj, 21static 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
35static int create_files(struct kernfs_node *parent, struct kobject *kobj, 35static 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 }
84exit: 84exit:
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