From 28113470f2ca3e1a06f3fe98ca119f7632a08a4c Mon Sep 17 00:00:00 2001 From: Asias He Date: Thu, 24 May 2012 23:28:52 +0800 Subject: [PATCH] --- yaml --- r: 311599 b: refs/heads/master c: 5e5cfac0c622d42eff4fa308e91b3c9c1884b4f0 h: refs/heads/master i: 311597: fd0a976c965d8f4bb606aa1521511198d3e3ec1e 311595: 9c8bbfb4c8a5e0d746e2c7be6eb2a906766343e8 311591: f6ca212583a7531913e69398a8cba7328136a382 311583: caca8ee9cd361308b06da0bd18c64ef6f51ff83f v: v3 --- [refs] | 2 +- trunk/block/blk-core.c | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/[refs] b/[refs] index 8cfb7263d69a..d75b8bd81e92 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 458f27a9823a0841acb4ca59e0e7f33e181f85e2 +refs/heads/master: 5e5cfac0c622d42eff4fa308e91b3c9c1884b4f0 diff --git a/trunk/block/blk-core.c b/trunk/block/blk-core.c index ce7fbf8d85a6..93eb3e4f88ce 100644 --- a/trunk/block/blk-core.c +++ b/trunk/block/blk-core.c @@ -480,7 +480,6 @@ void blk_cleanup_queue(struct request_queue *q) /* mark @q DEAD, no new request or merges will be allowed afterwards */ mutex_lock(&q->sysfs_lock); queue_flag_set_unlocked(QUEUE_FLAG_DEAD, q); - spin_lock_irq(lock); /* @@ -498,10 +497,6 @@ void blk_cleanup_queue(struct request_queue *q) queue_flag_set(QUEUE_FLAG_NOMERGES, q); queue_flag_set(QUEUE_FLAG_NOXMERGES, q); queue_flag_set(QUEUE_FLAG_DEAD, q); - - if (q->queue_lock != &q->__queue_lock) - q->queue_lock = &q->__queue_lock; - spin_unlock_irq(lock); mutex_unlock(&q->sysfs_lock); @@ -512,6 +507,11 @@ void blk_cleanup_queue(struct request_queue *q) del_timer_sync(&q->backing_dev_info.laptop_mode_wb_timer); blk_sync_queue(q); + spin_lock_irq(lock); + if (q->queue_lock != &q->__queue_lock) + q->queue_lock = &q->__queue_lock; + spin_unlock_irq(lock); + /* @q is and will stay empty, shutdown and put */ blk_put_queue(q); }