aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--fs/btrfs/sysfs.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/fs/btrfs/sysfs.c b/fs/btrfs/sysfs.c
index f31fcec01e9c..6218d31a6912 100644
--- a/fs/btrfs/sysfs.c
+++ b/fs/btrfs/sysfs.c
@@ -522,10 +522,12 @@ void btrfs_sysfs_remove_one(struct btrfs_fs_info *fs_info)
522 kobject_del(fs_info->space_info_kobj); 522 kobject_del(fs_info->space_info_kobj);
523 kobject_put(fs_info->space_info_kobj); 523 kobject_put(fs_info->space_info_kobj);
524 } 524 }
525 btrfs_kobj_rm_device(fs_info, NULL); 525 if (fs_info->device_dir_kobj) {
526 kobject_del(fs_info->device_dir_kobj); 526 btrfs_kobj_rm_device(fs_info, NULL);
527 kobject_put(fs_info->device_dir_kobj); 527 kobject_del(fs_info->device_dir_kobj);
528 fs_info->device_dir_kobj = NULL; 528 kobject_put(fs_info->device_dir_kobj);
529 fs_info->device_dir_kobj = NULL;
530 }
529 addrm_unknown_feature_attrs(fs_info, false); 531 addrm_unknown_feature_attrs(fs_info, false);
530 sysfs_remove_group(&fs_info->super_kobj, &btrfs_feature_attr_group); 532 sysfs_remove_group(&fs_info->super_kobj, &btrfs_feature_attr_group);
531 __btrfs_sysfs_remove_one(fs_info); 533 __btrfs_sysfs_remove_one(fs_info);