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 | ||
