diff options
Diffstat (limited to 'drivers/block/xd.c')
-rw-r--r-- | drivers/block/xd.c | 12 |
1 files changed, 3 insertions, 9 deletions
diff --git a/drivers/block/xd.c b/drivers/block/xd.c index d4c4352354b5..ce2429219925 100644 --- a/drivers/block/xd.c +++ b/drivers/block/xd.c | |||
@@ -305,10 +305,7 @@ static void do_xd_request (struct request_queue * q) | |||
305 | if (xdc_busy) | 305 | if (xdc_busy) |
306 | return; | 306 | return; |
307 | 307 | ||
308 | req = elv_next_request(q); | 308 | req = blk_fetch_request(q); |
309 | if (req) | ||
310 | blkdev_dequeue_request(req); | ||
311 | |||
312 | while (req) { | 309 | while (req) { |
313 | unsigned block = blk_rq_pos(req); | 310 | unsigned block = blk_rq_pos(req); |
314 | unsigned count = blk_rq_cur_sectors(req); | 311 | unsigned count = blk_rq_cur_sectors(req); |
@@ -325,11 +322,8 @@ static void do_xd_request (struct request_queue * q) | |||
325 | block, count); | 322 | block, count); |
326 | done: | 323 | done: |
327 | /* wrap up, 0 = success, -errno = fail */ | 324 | /* wrap up, 0 = success, -errno = fail */ |
328 | if (!__blk_end_request_cur(req, res)) { | 325 | if (!__blk_end_request_cur(req, res)) |
329 | req = elv_next_request(q); | 326 | req = blk_fetch_request(q); |
330 | if (req) | ||
331 | blkdev_dequeue_request(req); | ||
332 | } | ||
333 | } | 327 | } |
334 | } | 328 | } |
335 | 329 | ||