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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Jens Axboe <[email protected]> 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 [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux