diff options
-rw-r--r-- | block/blk-timeout.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/block/blk-timeout.c b/block/blk-timeout.c index 116bbf394fb5..99c3efc706b7 100644 --- a/block/blk-timeout.c +++ b/block/blk-timeout.c | |||
@@ -132,7 +132,12 @@ void blk_rq_timed_out_timer(unsigned long data) | |||
132 | } | 132 | } |
133 | } | 133 | } |
134 | 134 | ||
135 | if (next_set && !list_empty(&q->timeout_list)) | 135 | /* |
136 | * next can never be 0 here with the list non-empty, since we always | ||
137 | * bump ->deadline to 1 so we can detect if the timer was ever added | ||
138 | * or not. See comment in blk_add_timer() | ||
139 | */ | ||
140 | if (next) | ||
136 | mod_timer(&q->timeout, round_jiffies_up(next)); | 141 | mod_timer(&q->timeout, round_jiffies_up(next)); |
137 | 142 | ||
138 | spin_unlock_irqrestore(q->queue_lock, flags); | 143 | spin_unlock_irqrestore(q->queue_lock, flags); |