From: Juha [êölä Date: Sun, 6 Aug 2006 08:58:22 +0000 (+0100) Subject: [ARM] 3744/1: MMC: mmcqd gets stuck when block queue is plugged X-Git-Tag: v2.6.18-rc5~115^2~2 X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=c723e08af18e60cda3bbc90e0d6fb688587aeb9f;p=linux-2.6 [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: Juha Yrjola Signed-off-by: Russell King --- diff --git a/drivers/mmc/mmc_queue.c b/drivers/mmc/mmc_queue.c index 0b9682e9a3..74f8cdeeff 100644 --- a/drivers/mmc/mmc_queue.c +++ b/drivers/mmc/mmc_queue.c @@ -79,7 +79,8 @@ static int mmc_queue_thread(void *d) spin_lock_irq(q->queue_lock); set_current_state(TASK_INTERRUPTIBLE); 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); if (!req) {