Loading drivers/ide/ide-cd.c +25 −22 Original line number Diff line number Diff line Loading @@ -242,15 +242,8 @@ static void cdrom_queue_request_sense(ide_drive_t *drive, void *sense, elv_add_request(drive->queue, rq, ELEVATOR_INSERT_FRONT, 0); } static void cdrom_end_request(ide_drive_t *drive, int uptodate) static void ide_cd_complete_failed_rq(ide_drive_t *drive, struct request *rq) { struct request *rq = drive->hwif->rq; int nsectors = rq->hard_cur_sectors; ide_debug_log(IDE_DBG_FUNC, "cmd: 0x%x, uptodate: 0x%x, nsectors: %d", rq->cmd[0], uptodate, nsectors); if (blk_sense_request(rq) && uptodate) { /* * For REQ_TYPE_SENSE, "rq->buffer" points to the original * failed request Loading @@ -266,13 +259,23 @@ static void cdrom_end_request(ide_drive_t *drive, int uptodate) } cdrom_analyze_sense_data(drive, failed, sense); if (ide_end_rq(drive, failed, -EIO, blk_rq_bytes(failed))) if (ide_end_rq(drive, failed, -EIO, blk_rq_bytes(failed))) BUG(); } else cdrom_analyze_sense_data(drive, NULL, sense); } static void cdrom_end_request(ide_drive_t *drive, int uptodate) { struct request *rq = drive->hwif->rq; int nsectors = rq->hard_cur_sectors; ide_debug_log(IDE_DBG_FUNC, "cmd: 0x%x, uptodate: 0x%x, nsectors: %d", rq->cmd[0], uptodate, nsectors); if (blk_sense_request(rq) && uptodate) ide_cd_complete_failed_rq(drive, rq); if (!rq->current_nr_sectors && blk_fs_request(rq)) uptodate = 1; /* make sure it's fully ended */ Loading Loading
drivers/ide/ide-cd.c +25 −22 Original line number Diff line number Diff line Loading @@ -242,15 +242,8 @@ static void cdrom_queue_request_sense(ide_drive_t *drive, void *sense, elv_add_request(drive->queue, rq, ELEVATOR_INSERT_FRONT, 0); } static void cdrom_end_request(ide_drive_t *drive, int uptodate) static void ide_cd_complete_failed_rq(ide_drive_t *drive, struct request *rq) { struct request *rq = drive->hwif->rq; int nsectors = rq->hard_cur_sectors; ide_debug_log(IDE_DBG_FUNC, "cmd: 0x%x, uptodate: 0x%x, nsectors: %d", rq->cmd[0], uptodate, nsectors); if (blk_sense_request(rq) && uptodate) { /* * For REQ_TYPE_SENSE, "rq->buffer" points to the original * failed request Loading @@ -266,13 +259,23 @@ static void cdrom_end_request(ide_drive_t *drive, int uptodate) } cdrom_analyze_sense_data(drive, failed, sense); if (ide_end_rq(drive, failed, -EIO, blk_rq_bytes(failed))) if (ide_end_rq(drive, failed, -EIO, blk_rq_bytes(failed))) BUG(); } else cdrom_analyze_sense_data(drive, NULL, sense); } static void cdrom_end_request(ide_drive_t *drive, int uptodate) { struct request *rq = drive->hwif->rq; int nsectors = rq->hard_cur_sectors; ide_debug_log(IDE_DBG_FUNC, "cmd: 0x%x, uptodate: 0x%x, nsectors: %d", rq->cmd[0], uptodate, nsectors); if (blk_sense_request(rq) && uptodate) ide_cd_complete_failed_rq(drive, rq); if (!rq->current_nr_sectors && blk_fs_request(rq)) uptodate = 1; /* make sure it's fully ended */ Loading