diff options
Diffstat (limited to 'drivers/block/swim.c')
-rw-r--r-- | drivers/block/swim.c | 12 |
1 files changed, 3 insertions, 9 deletions
diff --git a/drivers/block/swim.c b/drivers/block/swim.c index dedd4893f5ea..cf7877fb8a7d 100644 --- a/drivers/block/swim.c +++ b/drivers/block/swim.c | |||
@@ -528,10 +528,7 @@ static void redo_fd_request(struct request_queue *q) | |||
528 | struct request *req; | 528 | struct request *req; |
529 | struct floppy_state *fs; | 529 | struct floppy_state *fs; |
530 | 530 | ||
531 | req = elv_next_request(q); | 531 | req = blk_fetch_request(q); |
532 | if (req) | ||
533 | blkdev_dequeue_request(req); | ||
534 | |||
535 | while (req) { | 532 | while (req) { |
536 | int err = -EIO; | 533 | int err = -EIO; |
537 | 534 | ||
@@ -554,11 +551,8 @@ static void redo_fd_request(struct request_queue *q) | |||
554 | break; | 551 | break; |
555 | } | 552 | } |
556 | done: | 553 | done: |
557 | if (!__blk_end_request_cur(req, err)) { | 554 | if (!__blk_end_request_cur(req, err)) |
558 | req = elv_next_request(q); | 555 | req = blk_fetch_request(q); |
559 | if (req) | ||
560 | blkdev_dequeue_request(req); | ||
561 | } | ||
562 | } | 556 | } |
563 | } | 557 | } |
564 | 558 | ||