aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/block/swim.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/block/swim.c')
-rw-r--r--drivers/block/swim.c12
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