Re: [PATCH 10/14] blk-mq: Uninit hardware context in order reverse to init

From: Omar Sandoval
Date: Mon Sep 19 2016 - 13:59:55 EST


On Sun, Sep 18, 2016 at 09:37:20AM +0200, Alexander Gordeev wrote:
> CC: linux-block@xxxxxxxxxxxxxxx
> Signed-off-by: Alexander Gordeev <agordeev@xxxxxxxxxx>
> ---
> block/blk-mq.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/block/blk-mq.c b/block/blk-mq.c
> index cd32a08..c589096 100644
> --- a/block/blk-mq.c
> +++ b/block/blk-mq.c
> @@ -2013,12 +2013,13 @@ static void blk_mq_realloc_hw_ctxs(struct blk_mq_tag_set *set,
> struct blk_mq_hw_ctx *hctx = hctxs[j];
>
> if (hctx) {
> + kobject_put(&hctx->kobj);
> +
> if (hctx->tags) {
> blk_mq_free_rq_map(set, hctx->tags, j);
> set->tags[j] = NULL;
> }
> blk_mq_exit_hctx(q, set, hctx, j);
> - kobject_put(&hctx->kobj);
> hctxs[j] = NULL;
> }
> }

Oh, this fixes my comment from the last one, but it should be folded in
to be bisect-safe.

--
Omar