aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/ide
diff options
context:
space:
mode:
authorJens Axboe <jens.axboe@oracle.com>2006-10-12 15:08:45 +0200
committerJens Axboe <axboe@nelson.home.kernel.dk>2006-10-12 15:08:51 +0200
commitcea2885a2e989d1dc19af1fc991717b33b7d1456 (patch)
tree180b207aa08b5229620a12baa66e8c579d68a925 /drivers/ide
parentc5841642242e9ae817275e09b36b298456dc17d2 (diff)
downloadkernel_samsung_smdk4412-cea2885a2e989d1dc19af1fc991717b33b7d1456.zip
kernel_samsung_smdk4412-cea2885a2e989d1dc19af1fc991717b33b7d1456.tar.gz
kernel_samsung_smdk4412-cea2885a2e989d1dc19af1fc991717b33b7d1456.tar.bz2
[PATCH] ide-cd: fix breakage with internally queued commands
We still need to maintain a private PC style command, since it isn't completely unified with REQ_TYPE_BLOCK_PC yet. Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Diffstat (limited to 'drivers/ide')
-rw-r--r--drivers/ide/ide-cd.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/ide/ide-cd.c b/drivers/ide/ide-cd.c
index 69bbb62..e7513e5 100644
--- a/drivers/ide/ide-cd.c
+++ b/drivers/ide/ide-cd.c
@@ -597,7 +597,7 @@ static void cdrom_prepare_request(ide_drive_t *drive, struct request *rq)
struct cdrom_info *cd = drive->driver_data;
ide_init_drive_cmd(rq);
- rq->cmd_type = REQ_TYPE_BLOCK_PC;
+ rq->cmd_type = REQ_TYPE_ATA_PC;
rq->rq_disk = cd->disk;
}
@@ -2023,7 +2023,8 @@ ide_do_rw_cdrom (ide_drive_t *drive, struct request *rq, sector_t block)
}
info->last_block = block;
return action;
- } else if (rq->cmd_type == REQ_TYPE_SENSE) {
+ } else if (rq->cmd_type == REQ_TYPE_SENSE ||
+ rq->cmd_type == REQ_TYPE_ATA_PC) {
return cdrom_do_packet_command(drive);
} else if (blk_pc_request(rq)) {
return cdrom_do_block_pc(drive, rq);