diff --git a/block/blk-iolatency.c b/block/blk-iolatency.c index 2caa79a008ad..c15b1aba606c 100644 --- a/block/blk-iolatency.c +++ b/block/blk-iolatency.c @@ -637,8 +637,9 @@ static void blkcg_iolatency_exit(struct rq_qos *rqos) struct blk_iolatency *blkiolat = BLKIOLATENCY(rqos); timer_shutdown_sync(&blkiolat->timer); - flush_work(&blkiolat->enable_work); blkcg_deactivate_policy(rqos->disk, &blkcg_policy_iolatency); + /* iolatency_pd_offline() schedules it for the last group with a target */ + flush_work(&blkiolat->enable_work); kfree(blkiolat); }