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 | |
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>
-rw-r--r-- | drivers/ide/ide-cd.c | 5 | ||||
-rw-r--r-- | include/linux/blkdev.h | 1 |
2 files changed, 4 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); diff --git a/include/linux/blkdev.h b/include/linux/blkdev.h index 26f7856..d370d2c 100644 --- a/include/linux/blkdev.h +++ b/include/linux/blkdev.h @@ -157,6 +157,7 @@ enum rq_cmd_type_bits { REQ_TYPE_ATA_CMD, REQ_TYPE_ATA_TASK, REQ_TYPE_ATA_TASKFILE, + REQ_TYPE_ATA_PC, }; /* |