diff options
Diffstat (limited to 'drivers/mmc')
-rw-r--r-- | drivers/mmc/card/queue.c | 11 |
1 files changed, 3 insertions, 8 deletions
diff --git a/drivers/mmc/card/queue.c b/drivers/mmc/card/queue.c index 4b70f1e28347..49e582356c65 100644 --- a/drivers/mmc/card/queue.c +++ b/drivers/mmc/card/queue.c | |||
@@ -54,11 +54,8 @@ static int mmc_queue_thread(void *d) | |||
54 | 54 | ||
55 | spin_lock_irq(q->queue_lock); | 55 | spin_lock_irq(q->queue_lock); |
56 | set_current_state(TASK_INTERRUPTIBLE); | 56 | set_current_state(TASK_INTERRUPTIBLE); |
57 | if (!blk_queue_plugged(q)) { | 57 | if (!blk_queue_plugged(q)) |
58 | req = elv_next_request(q); | 58 | req = blk_fetch_request(q); |
59 | if (req) | ||
60 | blkdev_dequeue_request(req); | ||
61 | } | ||
62 | mq->req = req; | 59 | mq->req = req; |
63 | spin_unlock_irq(q->queue_lock); | 60 | spin_unlock_irq(q->queue_lock); |
64 | 61 | ||
@@ -94,10 +91,8 @@ static void mmc_request(struct request_queue *q) | |||
94 | 91 | ||
95 | if (!mq) { | 92 | if (!mq) { |
96 | printk(KERN_ERR "MMC: killing requests for dead queue\n"); | 93 | printk(KERN_ERR "MMC: killing requests for dead queue\n"); |
97 | while ((req = elv_next_request(q)) != NULL) { | 94 | while ((req = blk_fetch_request(q)) != NULL) |
98 | blkdev_dequeue_request(req); | ||
99 | __blk_end_request_all(req, -EIO); | 95 | __blk_end_request_all(req, -EIO); |
100 | } | ||
101 | return; | 96 | return; |
102 | } | 97 | } |
103 | 98 | ||