lkml.org 
[lkml]   [2006]   [Oct]   [12]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    From
    SubjectRe: 2.6.19-rc1 regression: unable to read dvd's
    Date
    Jens Axboe <jens.axboe@oracle.com> writes:

    > Mike/Alex/Olaf, can you give this a spin? Totally untested here, but I
    > think it should fix it.
    >
    > 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,
    > };
    >
    > /*
    >

    with this patch applied, i can read dvd's now (using mplayer). thanks.
    i see this in syslog as the system boots up (it wasn't there before):

    Uniform CD-ROM driver Revision: 3.20
    ide-cd: bad rq: dev hdc: type=d, flags=1088

    sector 0, nr/cnr 0/0
    bio 00000000, biotail 00000000, buffer 00000000, data 00000000, len 0
    ide-cd: bad rq: dev hdc: type=d, flags=1088

    sector 0, nr/cnr 0/0
    bio 00000000, biotail 00000000, buffer 00000000, data dff1fe78, len 8
    ide-cd: bad rq: dev hdc: type=d, flags=1088

    sector 0, nr/cnr 0/0
    bio 00000000, biotail 00000000, buffer 00000000, data dfe5140c, len 4
    ide-cd: bad rq: dev hdc: type=d, flags=1088

    sector 0, nr/cnr 0/0
    bio 00000000, biotail 00000000, buffer 00000000, data dfe5140c, len 20
    ide-cd: bad rq: dev hdc: type=d, flags=1088

    sector 0, nr/cnr 0/0
    bio 00000000, biotail 00000000, buffer 00000000, data dff1fea8, len 12
    ide-cd: bad rq: dev hdc: type=d, flags=1088

    sector 0, nr/cnr 0/0
    bio 00000000, biotail 00000000, buffer 00000000, data dff1fe34, len 2
    ide-cd: bad rq: dev hdc: type=d, flags=1088

    sector 0, nr/cnr 0/0
    bio 00000000, biotail 00000000, buffer 00000000, data dff1fe34, len 2

    spoke too soon. if i use xine i get this oops:

    kernel: sector 0, nr/cnr 0/0
    kernel: bio 00000000, biotail 00000000, buffer 00000000, data 00000000, len 0
    kernel: ide-cd: bad rq: dev hdc: type=d, flags=88
    kernel:
    kernel: sector 0, nr/cnr 0/0
    kernel: bio 00000000, biotail 00000000, buffer 00000000, data d4e79b44, len 8
    kernel: BUG: unable to handle kernel NULL pointer dereference at virtual address 00000004
    kernel: printing eip:
    kernel: c0167de9
    kernel: *pde = 00000000
    kernel: Oops: 0000 [#1]
    kernel: PREEMPT
    kernel: Modules linked in: radeon drm binfmt_misc nfs sd_mod scsi_mod nfsd exportfs lockd sunrpc autofs4 pcmcia firmware_class joydev irtty_sir sir_dev nsc_ircc irda crc_ccitt parport_pc parport ehci_hcd uhci_hcd usbcore aes_i586 airo nls_iso8859_1 ntfs yenta_socket rsrc_nonstatic pcmcia_core
    kernel: CPU: 0
    kernel: EIP: 0060:[<c0167de9>] Not tainted VLI
    kernel: EFLAGS: 00010292 (2.6.19-rc1 #202)
    kernel: EIP is at create_empty_buffers+0x13/0x8d
    kernel: eax: 00000000 ebx: c1276fe0 ecx: 00000001 edx: 00002000
    kernel: esi: 00000000 edi: 00000000 ebp: c1276fe0 esp: d4e79cf4
    kernel: ds: 007b es: 007b ss: 0068
    kernel: Process xine (pid: 3767, ti=d4e78000 task=da77ea70 task.ti=d4e78000)
    kernel: Stack: c1276fe0 00000000 c146dda0 c0169b20 c035c3d4 c016c134 00000001 c146dcfc
    kernel: 00000000 c035c3d4 000201d0 00002000 c1276fe0 00000000 fffffffa c1276fe0
    kernel: c146dda0 00000000 00000000 c0134270 c1276fe0 c1276fe0 00000000 c146dda0
    kernel: Call Trace:
    kernel: [<c0169b20>] block_read_full_page+0x4d/0x248
    kernel: [<c016c134>] blkdev_get_block+0x0/0x33
    kernel: [<c0134270>] add_to_page_cache+0x99/0xb3
    kernel: [<c01397a8>] __do_page_cache_readahead+0x1b5/0x20e
    kernel: [<c0184267>] inode2sd+0x122/0x137
    kernel: [<c01935e8>] pathrelse+0x15/0x24
    kernel: [<c0184976>] reiserfs_update_sd_size+0x236/0x23e
    kernel: [<c0139847>] blockable_page_cache_readahead+0x46/0x99
    kernel: [<c01399d9>] page_cache_readahead+0xb2/0x177
    kernel: [<c01346b7>] do_generic_mapping_read+0x14b/0x436
    kernel: [<c01364e5>] generic_file_aio_read+0x1ac/0x1f7
    kernel: [<c0133eb9>] file_read_actor+0x0/0xc1
    kernel: [<c014c8bd>] do_sync_read+0xc2/0x101
    kernel: [<c0127389>] autoremove_wake_function+0x0/0x2d
    kernel: [<c014b7c1>] do_filp_open+0x2b/0x31
    kernel: [<c014c7fb>] do_sync_read+0x0/0x101
    kernel: [<c014d015>] vfs_read+0x81/0x123
    kernel: [<c014d3c0>] sys_read+0x3c/0x63
    kernel: [<c0102cbf>] syscall_call+0x7/0xb
    kernel: [<c02f007b>] __sched_text_start+0x123/0x560
    kernel: =======================
    kernel: Code: 74 0a e8 1e ff ff ff e9 68 ff ff ff 31 f6 83 c4 0c 89 f0 5b 5e 5f 5d c3 57 89 cf 56 b9 01 00 00 00 53 89 c3 e8 3b ff ff ff 89 c6 <8b> 50 04 09 38 85 d2 74 04 89 d0 eb f3 89 70 04 b8 01 00 00 00
    kernel: EIP: [<c0167de9>] create_empty_buffers+0x13/0x8d SS:ESP 0068:d4e79cf4

    not sure where this came from.

    --alex--

    --
    | I believe the moment is at hand when, by a paranoiac and active |
    | advance of the mind, it will be possible (simultaneously with |
    | automatism and other passive states) to systematize confusion |
    | and thus to help to discredit completely the world of reality. |
    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

    \
     
     \ /
      Last update: 2006-10-12 17:23    [W:0.025 / U:64.564 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site