Re: IDE cdrom problem with PLEXTOR DVDR PX-608AL

From: Brad Rosser
Date: Sun Feb 24 2008 - 20:59:21 EST


On Mon, Feb 25, 2008 at 3:34 AM, Borislav Petkov
<petkovbb@xxxxxxxxxxxxxx> wrote:
> On Sun, Feb 24, 2008 at 03:38:34PM +1000, Brad Rosser wrote:
> >
> > There's nothing in the bios that allows me to move one away from
> > the other. I can 'reserve' or block IRQs, but that only shifts them
> > both to another interrupt.
>
> well the driver probes the bios for that data and assigns the irq line it gets
> from it.

Oh. I thought from all the 'IRQ routing/balancing' and the like in the
kernel there might be a way to switch things around, give the
Realtek driver a different IRQ than the one being used by the ide driver.
Just my crossed-fingers hope.

> Can you please send me your whole boot log of 2.6.25-rc2? Thanks.

It's attached as file 'dmesg.bug.out'.

> since your cdrom seems to be hda from what i've seen above, try booting with
> 'hda=noprobe' or maybe 'hda=none' to see which one turns the probing off for
> you. See Documentation/ide.txt for details.

I tried both options, but in both cases there was no difference; the ide_cd_mod
module was still loaded and the 'confused' message still popped up.

I did four boots/tests of the 2.6.25-rc2 kernel, with and without those
boot parameters ... on all four I had the 'confused' message several times:

hda: cdrom_newpc_intr: The drive appears confused (ireason = 0x01).
Trying to recover by ending request.

but in one - the boot with hda=noprobe - I got pages of these
error messages right after:

hda: status error: status=0x58 { DriveReady SeekComplete DataRequest }
ide: failed opcode was: unknown
hda: drive not ready for command
hda: status error: status=0x58 { DriveReady SeekComplete DataRequest }
ide: failed opcode was: unknown
hda: drive not ready for command
hda: status error: status=0x58 { DriveReady SeekComplete DataRequest }
ide: failed opcode was: unknown
hda: drive not ready for command
hda: status error: status=0x58 { DriveReady SeekComplete DataRequest }
ide: failed opcode was: unknown
hda: drive not ready for command
hda: status timeout: status=0xd0 { Busy }
ide: failed opcode was: unknown
hda: DMA disabled
hda: ATAPI reset complete
hda: cdrom_decode_status: status=0xc0 { Busy }
ide: failed opcode was: unknown
hda: ide_intr: huh? expected NULL handler on exit
hda: ATAPI reset complete
...

and the system essentially hung. I don't know if that was due to the
'hda=noprobe' or if that extra sensitivity is seen only every now and then.

Bart wrote:

> Does the following patch help?
>
> [ It makes ireason handling for REQ_TYPE_ATA_PC requests be the same as
> for other request types so "ireason == 1" quirk is used if needed. ]

I tried to apply the patch but failed; I probably did something wrong.
I deleted everything in your message above 'Index: b/drivers/ide/ide-cd.c'
and ran 'patch --dry-run -b -p1 < ../bart_patch'. This is part of my script
log:

root:/usr/src/linux-2.6.25-rc2# pwd
/usr/src/linux-2.6.25-rc2
root:/usr/src/linux-2.6.25-rc2# cat ../bart_patch
Index: b/drivers/ide/ide-cd.c
===================================================================
--- a/drivers/ide/ide-cd.c
+++ b/drivers/ide/ide-cd.c
@@ -670,8 +670,8 @@ static void cdrom_buffer_sectors (ide_dr
* and attempt to recover if there are problems. Returns 0 if everything's
...
...
root:/usr/src/linux-2.6.25-rc2# patch --dry-run -b -p1 < ../bart_patch
patching file drivers/ide/ide-cd.c
Hunk #1 FAILED at 670.
Hunk #2 FAILED at 701.
Hunk #3 FAILED at 1074.
Hunk #4 FAILED at 1104.
4 out of 4 hunks FAILED -- saving rejects to file drivers/ide/ide-cd.c.rej

Since it found drivers/ide/ide-cd.c I guess I got the '-p' level right (?),
and that's about the sum total of my 'patch' experience to date.
Sorry. Can you tell me what I did wrong?

Cheers,


Brad

Attachment: dmesg.bug.out
Description: Binary data