aboutsummaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
Diffstat (limited to 'arch')
-rw-r--r--arch/arm/plat-omap/mailbox.c12
-rw-r--r--arch/um/drivers/ubd_kern.c3
2 files changed, 4 insertions, 11 deletions
diff --git a/arch/arm/plat-omap/mailbox.c b/arch/arm/plat-omap/mailbox.c
index 7a1f5c25fd17..40424edae939 100644
--- a/arch/arm/plat-omap/mailbox.c
+++ b/arch/arm/plat-omap/mailbox.c
@@ -197,9 +197,7 @@ static void mbox_tx_work(struct work_struct *work)
197 struct omap_msg_tx_data *tx_data; 197 struct omap_msg_tx_data *tx_data;
198 198
199 spin_lock(q->queue_lock); 199 spin_lock(q->queue_lock);
200 rq = elv_next_request(q); 200 rq = blk_fetch_request(q);
201 if (rq)
202 blkdev_dequeue_request(rq);
203 spin_unlock(q->queue_lock); 201 spin_unlock(q->queue_lock);
204 202
205 if (!rq) 203 if (!rq)
@@ -242,9 +240,7 @@ static void mbox_rx_work(struct work_struct *work)
242 240
243 while (1) { 241 while (1) {
244 spin_lock_irqsave(q->queue_lock, flags); 242 spin_lock_irqsave(q->queue_lock, flags);
245 rq = elv_next_request(q); 243 rq = blk_fetch_request(q);
246 if (rq)
247 blkdev_dequeue_request(rq);
248 spin_unlock_irqrestore(q->queue_lock, flags); 244 spin_unlock_irqrestore(q->queue_lock, flags);
249 if (!rq) 245 if (!rq)
250 break; 246 break;
@@ -351,9 +347,7 @@ omap_mbox_read(struct device *dev, struct device_attribute *attr, char *buf)
351 347
352 while (1) { 348 while (1) {
353 spin_lock_irqsave(q->queue_lock, flags); 349 spin_lock_irqsave(q->queue_lock, flags);
354 rq = elv_next_request(q); 350 rq = blk_fetch_request(q);
355 if (rq)
356 blkdev_dequeue_request(rq);
357 spin_unlock_irqrestore(q->queue_lock, flags); 351 spin_unlock_irqrestore(q->queue_lock, flags);
358 352
359 if (!rq) 353 if (!rq)
diff --git a/arch/um/drivers/ubd_kern.c b/arch/um/drivers/ubd_kern.c
index 402ba8f70fc9..aa9e926e13d7 100644
--- a/arch/um/drivers/ubd_kern.c
+++ b/arch/um/drivers/ubd_kern.c
@@ -1228,12 +1228,11 @@ static void do_ubd_request(struct request_queue *q)
1228 while(1){ 1228 while(1){
1229 struct ubd *dev = q->queuedata; 1229 struct ubd *dev = q->queuedata;
1230 if(dev->end_sg == 0){ 1230 if(dev->end_sg == 0){
1231 struct request *req = elv_next_request(q); 1231 struct request *req = blk_fetch_request(q);
1232 if(req == NULL) 1232 if(req == NULL)
1233 return; 1233 return;
1234 1234
1235 dev->request = req; 1235 dev->request = req;
1236 blkdev_dequeue_request(req);
1237 dev->start_sg = 0; 1236 dev->start_sg = 0;
1238 dev->end_sg = blk_rq_map_sg(q, req, dev->sg); 1237 dev->end_sg = blk_rq_map_sg(q, req, dev->sg);
1239 } 1238 }