diff -urNp linux-2.6-orig/drivers/mmc/card/queue.c linux-2.6/drivers/mmc/card/queue.c --- linux-2.6-orig/drivers/mmc/card/queue.c 2007-10-08 10:26:01.000000000 +0200 +++ linux-2.6/drivers/mmc/card/queue.c 2007-10-08 10:31:00.000000000 +0200 @@ -53,7 +53,7 @@ static int mmc_queue_thread(void *d) spin_lock_irq(q->queue_lock); set_current_state(TASK_INTERRUPTIBLE); - if (!blk_queue_plugged(q)) + if (!blk_queue_plugged(q) && !blk_queue_stopped(q)) req = elv_next_request(q); mq->req = req; spin_unlock_irq(q->queue_lock);