Commit c723e08a authored by Juha [l's avatar Juha [�l Committed by Russell King

[ARM] 3744/1: MMC: mmcqd gets stuck when block queue is plugged

Patch from Juha [l

When the block queue is plugged, mq->req must be set to NULL.
Otherwise mq->req might be left non-NULL, even though mmcqd is
not processing a request, thus preventing the MMC queue thread from
being woken up when new requests do arrive.
Signed-off-by: default avatarJuha Yrjola <juha.yrjola@solidboot.com>
Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
parent f5d635f6
...@@ -79,7 +79,8 @@ static int mmc_queue_thread(void *d) ...@@ -79,7 +79,8 @@ static int mmc_queue_thread(void *d)
spin_lock_irq(q->queue_lock); spin_lock_irq(q->queue_lock);
set_current_state(TASK_INTERRUPTIBLE); set_current_state(TASK_INTERRUPTIBLE);
if (!blk_queue_plugged(q)) if (!blk_queue_plugged(q))
mq->req = req = elv_next_request(q); req = elv_next_request(q);
mq->req = req;
spin_unlock_irq(q->queue_lock); spin_unlock_irq(q->queue_lock);
if (!req) { if (!req) {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment