diff options
-rw-r--r-- | fs/sysfs/bin.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/fs/sysfs/bin.c b/fs/sysfs/bin.c index e93fe5e2fa41..9c8f8824e660 100644 --- a/fs/sysfs/bin.c +++ b/fs/sysfs/bin.c | |||
@@ -171,8 +171,8 @@ static int open(struct inode * inode, struct file * file) | |||
171 | struct bin_buffer *bb = NULL; | 171 | struct bin_buffer *bb = NULL; |
172 | int error; | 172 | int error; |
173 | 173 | ||
174 | /* need attr_sd for attr */ | 174 | /* binary file operations requires both @sd and its parent */ |
175 | if (!sysfs_get_active(attr_sd)) | 175 | if (!sysfs_get_active_two(attr_sd)) |
176 | return -ENODEV; | 176 | return -ENODEV; |
177 | 177 | ||
178 | error = -EACCES; | 178 | error = -EACCES; |
@@ -193,12 +193,12 @@ static int open(struct inode * inode, struct file * file) | |||
193 | mutex_init(&bb->mutex); | 193 | mutex_init(&bb->mutex); |
194 | file->private_data = bb; | 194 | file->private_data = bb; |
195 | 195 | ||
196 | /* open succeeded, put active reference */ | 196 | /* open succeeded, put active references */ |
197 | sysfs_put_active(attr_sd); | 197 | sysfs_put_active_two(attr_sd); |
198 | return 0; | 198 | return 0; |
199 | 199 | ||
200 | err_out: | 200 | err_out: |
201 | sysfs_put_active(attr_sd); | 201 | sysfs_put_active_two(attr_sd); |
202 | kfree(bb); | 202 | kfree(bb); |
203 | return error; | 203 | return error; |
204 | } | 204 | } |