ide: remove ide_end_request()
[deliverable/linux.git] / drivers / ide / ide-cd.c
index bb804ae57bc5c3a96891933ea7f7e3ffc1ac2c9d..2f698c6e913fc095589c9d3ad4ea4f6d706187e2 100644 (file)
@@ -272,8 +272,8 @@ static void cdrom_end_request(ide_drive_t *drive, int uptodate)
                         * now end the failed request
                         */
                        if (blk_fs_request(failed)) {
-                               if (ide_end_dequeued_request(drive, failed, 0,
-                                               failed->hard_nr_sectors))
+                               if (ide_end_rq(drive, failed, -EIO,
+                                               failed->hard_nr_sectors << 9))
                                        BUG();
                        } else {
                                if (blk_end_request(failed, -EIO,
@@ -295,7 +295,10 @@ static void cdrom_end_request(ide_drive_t *drive, int uptodate)
        ide_debug_log(IDE_DBG_FUNC, "uptodate: 0x%x, nsectors: %d",
                                    uptodate, nsectors);
 
-       ide_end_request(drive, uptodate, nsectors);
+       if (blk_fs_request(rq) == 0 && uptodate <= 0 && rq->errors == 0)
+               rq->errors = -EIO;
+
+       ide_complete_rq(drive, uptodate ? 0 : -EIO, nsectors << 9);
 }
 
 static void ide_dump_status_no_sense(ide_drive_t *drive, const char *msg, u8 st)
@@ -790,10 +793,11 @@ static ide_startstop_t cdrom_newpc_intr(ide_drive_t *drive)
                if (dma_error)
                        return ide_error(drive, "dma error", stat);
                if (blk_fs_request(rq)) {
-                       ide_end_request(drive, 1, rq->nr_sectors);
+                       ide_complete_rq(drive, 0, rq->nr_sectors
+                               ? (rq->nr_sectors << 9) : ide_rq_bytes(rq));
                        return ide_stopped;
                } else if (rq->cmd_type == REQ_TYPE_ATA_PC && !rq->bio) {
-                       ide_end_request(drive, 1, 1);
+                       ide_complete_rq(drive, 0, 512);
                        return ide_stopped;
                }
                goto end_request;
This page took 0.029929 seconds and 5 git commands to generate.