Re: IDE cdrom problem with PLEXTOR DVDR PX-608AL
From: Borislav Petkov <hidden>
Date: 2008-02-25 05:34:24
Also in:
lkml
On Mon, Feb 25, 2008 at 11:58:57AM +1000, Brad Rosser wrote:
On Mon, Feb 25, 2008 at 3:34 AM, Borislav Petkov [off-list ref] wrote:quoted
On Sun, Feb 24, 2008 at 03:38:34PM +1000, Brad Rosser wrote:quoted
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.quoted
Can you please send me your whole boot log of 2.6.25-rc2? Thanks.It's attached as file 'dmesg.bug.out'.quoted
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.
Well, this sounds strange. Are you sure you're entering the boot options correctly on the kernel command line? Which is your boot loader? I just booted my machine with 'hdc=noprobe' (hdc is my cdrom drive) and here's what i get: ... [ 0.304774] Probing IDE interface ide0... [ 0.569359] hdb: SAMSUNG SP2014N, ATA DISK drive [ 0.613977] Switched to NOHz mode on CPU #1 [ 0.773368] Switched to NOHz mode on CPU #0 [ 0.874486] hda: QUANTUM FIREBALLlct10 20, ATA DISK drive [ 0.874506] hda: host max PIO4 wanted PIO255(auto-tune) selected PIO4 [ 0.874506] hda: drive side 80-wire cable detection failed, limiting max speed to UDMA33 [ 0.874506] hda: UDMA/33 mode selected [ 0.874533] hdb: host max PIO4 wanted PIO255(auto-tune) selected PIO4 [ 0.874620] hdb: UDMA/100 mode selected [ 0.874744] Probing IDE interface ide1... --> [ 0.877750] hdc: ide_wait_not_busy() skipped --> [ 1.136180] hdd: IC35L120AVV207-0, ATA DISK drive [ 1.186959] hdd: host max PIO4 wanted PIO255(auto-tune) selected PIO4 [ 1.186959] hdd: host side 80-wire cable detection failed, limiting max speed to UDMA33 [ 1.186959] hdd: UDMA/33 mode selected [ 1.186959] ide0 at 0x1f0-0x1f7,0x3f6 on irq 14 [ 1.194971] ide1 at 0x170-0x177,0x376 on irq 15 [ 1.206876] Probing IDE interface ide2... [ 1.720661] Probing IDE interface ide3... [ 2.233564] Probing IDE interface ide4... [ 2.746462] Probing IDE interface ide5... [ 3.259395] hda: max request size: 128KiB [ 3.259571] hda: 39876480 sectors (20416 MB) w/418KiB Cache, CHS=39560/16/63 [ 3.259571] hda: cache flushes not supported [ 3.259571] hda: hda1 hda2 hda3 [ 3.269291] hdb: max request size: 512KiB [ 3.269511] hdb: 390721968 sectors (200049 MB) w/8192KiB Cache, CHS=24321/255/63 [ 3.269962] hdb: cache flushes supported [ 3.270078] hdb: hdb1 [ 3.280914] hdd: max request size: 512KiB [ 3.281247] hdd: 241254720 sectors (123522 MB) w/1821KiB Cache, CHS=16383/255/63 [ 3.281729] hdd: cache flushes supported [ 3.281729] hdd: hdd1 [ 3.296760] PNP: PS/2 Controller [PNP0303:PS2K,PNP0f13:PS2M] at 0x60,0x64 irq 1,12 ... so it seems you should check whether your kernel is receiving the 'hda=noprobe' boot option at all, or something along that path is going wrong... [...]
quoted hunk ↗ jump to hunk
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?
are you sure you're _really_ using 2.6.25-rc2? Applying the patch against that
kernel works just fine, no fuzziness or even rejects. Care to try out on a fresh
kernel source tarball? After all, building a kernel with your quad core cpu won't
take that long :-) when using make -j8 or something in that order.
--
Regards/Gruß,
Boris.