diff --git a/block/blk-mq.c b/block/blk-mq.c index 88cb5acc4f39..9cfc54c36ecd 100644 --- a/block/blk-mq.c +++ b/block/blk-mq.c @@ -1921,6 +1921,8 @@ static bool blk_mq_mark_tag_wait(struct blk_mq_hw_ctx *hctx, spin_lock_irq(&wq->lock); spin_lock(&hctx->dispatch_wait_lock); if (!list_empty(&wait->entry)) { + list_del_init(&wait->entry); + atomic_dec(&sbq->ws_active); spin_unlock(&hctx->dispatch_wait_lock); spin_unlock_irq(&wq->lock); return false;