diff options
author | Jens Axboe <jens.axboe@oracle.com> | 2006-10-12 15:08:45 +0200 |
---|---|---|
committer | Jens Axboe <axboe@nelson.home.kernel.dk> | 2006-10-12 15:08:51 +0200 |
commit | cea2885a2e989d1dc19af1fc991717b33b7d1456 (patch) | |
tree | 180b207aa08b5229620a12baa66e8c579d68a925 /drivers/ide/ide-cd.c | |
parent | c5841642242e9ae817275e09b36b298456dc17d2 (diff) | |
download | op-kernel-dev-cea2885a2e989d1dc19af1fc991717b33b7d1456.zip op-kernel-dev-cea2885a2e989d1dc19af1fc991717b33b7d1456.tar.gz |
[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/ide-cd.c')
-rw-r--r-- | drivers/ide/ide-cd.c | 5 |
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); |