From 06c232359e6801017625bf50b3a0b5a03540a1ce Mon Sep 17 00:00:00 2001 From: Jens Axboe Date: Wed, 29 May 2013 14:10:51 +0200 Subject: [PATCH 19/19] blk-mq: fix timer infinite loop after first timeout event We have to bump the tag that timed out, or find_next_zero_bit() will keep hitting the same one. Signed-off-by: Jens Axboe --- block/blk-mq.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/block/blk-mq.c b/block/blk-mq.c index 2149c1c..91cf4b1 100644 --- a/block/blk-mq.c +++ b/block/blk-mq.c @@ -330,7 +330,7 @@ static void blk_mq_timeout_check(void *__data, unsigned long *free_tags) if (tag >= hctx->queue_depth) break; - rq = hctx->rqs[tag]; + rq = hctx->rqs[tag++]; if (!test_bit(REQ_ATOM_STARTED, &rq->atomic_flags)) continue; -- 1.7.4.4