The driver initializes itself using init_hctx and reverts using exit_hctx if unsucessful. exit_hctx is missing on normal hw queue teardown.
Signed-off-by: Matias Bjorling <m...@bjorling.me> --- block/blk-mq.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/block/blk-mq.c b/block/blk-mq.c index 923e9e1..5b054b7 100644 --- a/block/blk-mq.c +++ b/block/blk-mq.c @@ -1390,6 +1390,8 @@ void blk_mq_free_queue(struct request_queue *q) kfree(hctx->ctxs); blk_mq_free_rq_map(hctx); blk_mq_unregister_cpu_notifier(&hctx->cpu_notifier); + if (q->mq_ops->exit_hctx) + q->mq_ops->exit_hctx(hctx, i); q->mq_ops->free_hctx(hctx, i); } -- 1.8.1.2 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/