aboutsummaryrefslogtreecommitdiffstats
path: root/block/blk-ioc.c
diff options
context:
space:
mode:
Diffstat (limited to 'block/blk-ioc.c')
-rw-r--r--block/blk-ioc.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/block/blk-ioc.c b/block/blk-ioc.c
index 27a06e00eaec..7490b6da2453 100644
--- a/block/blk-ioc.c
+++ b/block/blk-ioc.c
@@ -204,7 +204,9 @@ void put_io_context(struct io_context *ioc, struct request_queue *locked_q)
204 spin_unlock(last_q->queue_lock); 204 spin_unlock(last_q->queue_lock);
205 last_q = NULL; 205 last_q = NULL;
206 206
207 if (!spin_trylock(this_q->queue_lock)) 207 /* spin_trylock() always successes in UP case */
208 if (this_q != locked_q &&
209 !spin_trylock(this_q->queue_lock))
208 break; 210 break;
209 last_q = this_q; 211 last_q = this_q;
210 continue; 212 continue;