Commit 8e4ff684 authored by Ming Lei's avatar Ming Lei Committed by Jens Axboe

block: ublk: move ublk_chr_class destroying after devices are removed

The 'ublk_chr_class' is needed when deleting ublk char devices in
ublk_exit(), so move it after devices(idle) are removed.

Fixes the following warning reported by Harris, James R:

[  859.178950] sysfs group 'power' not found for kobject 'ublkc0'
[  859.178962] WARNING: CPU: 3 PID: 1109 at fs/sysfs/group.c:278 sysfs_remove_group+0x9c/0xb0
Reported-by: default avatar"Harris, James R" <james.r.harris@intel.com>
Fixes: 71f28f31 ("ublk_drv: add io_uring based userspace block driver")
Link: https://lore.kernel.org/linux-block/Y9JlFmSgDl3+zy3N@T590/T/#tSigned-off-by: default avatarMing Lei <ming.lei@redhat.com>
Tested-by: default avatarJim Harris <james.r.harris@intel.com>
Link: https://lore.kernel.org/r/20230126115346.263344-1-ming.lei@redhat.comSigned-off-by: default avatarJens Axboe <axboe@kernel.dk>
parent 955bc122
...@@ -2092,13 +2092,12 @@ static void __exit ublk_exit(void) ...@@ -2092,13 +2092,12 @@ static void __exit ublk_exit(void)
struct ublk_device *ub; struct ublk_device *ub;
int id; int id;
class_destroy(ublk_chr_class);
misc_deregister(&ublk_misc);
idr_for_each_entry(&ublk_index_idr, ub, id) idr_for_each_entry(&ublk_index_idr, ub, id)
ublk_remove(ub); ublk_remove(ub);
class_destroy(ublk_chr_class);
misc_deregister(&ublk_misc);
idr_destroy(&ublk_index_idr); idr_destroy(&ublk_index_idr);
unregister_chrdev_region(ublk_chr_devt, UBLK_MINORS); unregister_chrdev_region(ublk_chr_devt, UBLK_MINORS);
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment