aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
Diffstat (limited to 'drivers')
-rw-r--r--drivers/ide/ide-cd.c21
1 files changed, 5 insertions, 16 deletions
diff --git a/drivers/ide/ide-cd.c b/drivers/ide/ide-cd.c
index c0cefe5becf3..cf0707fe87e8 100644
--- a/drivers/ide/ide-cd.c
+++ b/drivers/ide/ide-cd.c
@@ -509,17 +509,6 @@ static int ide_cd_check_ireason(ide_drive_t *drive, struct request *rq,
509 return -1; 509 return -1;
510} 510}
511 511
512static ide_startstop_t ide_cd_prepare_rw_request(ide_drive_t *drive,
513 struct request *rq)
514{
515 ide_debug_log(IDE_DBG_RQ, "rq->cmd_flags: 0x%x", rq->cmd_flags);
516
517 /* set up the command */
518 rq->timeout = ATAPI_WAIT_PC;
519
520 return ide_started;
521}
522
523static void ide_cd_request_sense_fixup(ide_drive_t *drive, struct request *rq) 512static void ide_cd_request_sense_fixup(ide_drive_t *drive, struct request *rq)
524{ 513{
525 ide_debug_log(IDE_DBG_FUNC, "rq->cmd[0]: 0x%x", rq->cmd[0]); 514 ide_debug_log(IDE_DBG_FUNC, "rq->cmd[0]: 0x%x", rq->cmd[0]);
@@ -871,9 +860,9 @@ static ide_startstop_t cdrom_start_rw(ide_drive_t *drive, struct request *rq)
871 unsigned short sectors_per_frame = 860 unsigned short sectors_per_frame =
872 queue_hardsect_size(q) >> SECTOR_BITS; 861 queue_hardsect_size(q) >> SECTOR_BITS;
873 862
874 ide_debug_log(IDE_DBG_RQ, "rq->cmd[0]: 0x%x, write: 0x%x, " 863 ide_debug_log(IDE_DBG_RQ, "rq->cmd[0]: 0x%x, rq->cmd_flags: 0x%x, "
875 "secs_per_frame: %u", 864 "secs_per_frame: %u",
876 rq->cmd[0], write, sectors_per_frame); 865 rq->cmd[0], rq->cmd_flags, sectors_per_frame);
877 866
878 if (write) { 867 if (write) {
879 /* disk has become write protected */ 868 /* disk has become write protected */
@@ -898,6 +887,8 @@ static ide_startstop_t cdrom_start_rw(ide_drive_t *drive, struct request *rq)
898 if (write) 887 if (write)
899 cd->devinfo.media_written = 1; 888 cd->devinfo.media_written = 1;
900 889
890 rq->timeout = ATAPI_WAIT_PC;
891
901 return ide_started; 892 return ide_started;
902} 893}
903 894
@@ -954,10 +945,8 @@ static ide_startstop_t ide_cd_do_request(ide_drive_t *drive, struct request *rq,
954 blk_dump_rq_flags(rq, "ide_cd_do_request"); 945 blk_dump_rq_flags(rq, "ide_cd_do_request");
955 946
956 if (blk_fs_request(rq)) { 947 if (blk_fs_request(rq)) {
957 if (cdrom_start_rw(drive, rq) == ide_stopped || 948 if (cdrom_start_rw(drive, rq) == ide_stopped)
958 ide_cd_prepare_rw_request(drive, rq) == ide_stopped) {
959 goto out_end; 949 goto out_end;
960 }
961 } else if (blk_sense_request(rq) || blk_pc_request(rq) || 950 } else if (blk_sense_request(rq) || blk_pc_request(rq) ||
962 rq->cmd_type == REQ_TYPE_ATA_PC) { 951 rq->cmd_type == REQ_TYPE_ATA_PC) {
963 if (!rq->timeout) 952 if (!rq->timeout)