blk-mq: cancel blk-mq dispatch work in both blk_cleanup_queue and disk_release()
[platform/kernel/linux-starfive.git] / block / genhd.c
index c5392cc..30362ae 100644 (file)
@@ -1111,6 +1111,8 @@ static void disk_release(struct device *dev)
        might_sleep();
        WARN_ON_ONCE(disk_live(disk));
 
+       blk_mq_cancel_work_sync(disk->queue);
+
        disk_release_events(disk);
        kfree(disk->random);
        xa_destroy(&disk->part_tbl);