Re: 2.6.19-rc1 regression: unable to read dvd's

Mike Galbraith
2006-10-12T12:38:47Z

On Thu, 2006-10-12 at 14:21 +0200, Jens Axboe wrote:

> Mike/Alex/Olaf, can you give this a spin? Totally untested here, but I
> think it should fix it.

Yup, all better here. Thanks.

-Mike

> 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_dr
> 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, str
> }
> 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,
> };
>
> /*
>