Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 213615 - kernel 2.6.24 regression in libata - 'drive not ready for command' - cd rom related (BenQ and Plextor drives)
Summary: kernel 2.6.24 regression in libata - 'drive not ready for command' - cd rom ...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Core system (show other bugs)
Hardware: AMD64 Linux
: High normal (vote)
Assignee: Gentoo Kernel Bug Wranglers and Kernel Maintainers
URL: http://bugzilla.kernel.org/show_bug.c...
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2008-03-16 18:14 UTC by Maciej Mrozowski
Modified: 2011-06-28 09:59 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Maciej Mrozowski gentoo-dev 2008-03-16 18:14:00 UTC
Kernel 2.6.24 has regression error (so problem not present in earlier releases), and gentoo-sources-2.6.24-r3 (stable on amd64 and x86) is affected as well. Just after boot, dmesg shows something like log below and drive is not accessible (one cannot eject cd tray etc). Kernel is spamming syslog with similar error messages as well.

Reproducible: Always

Steps to Reproduce:
1. Boot from kernel 2.6.24 (in example gentoo-sources-2.6.24-r3) with BenQ dvd drive connected
Actual Results:  
dmesg:

Mar 16 14:09:03 [kernel] Uniform Multi-Platform E-IDE driver Revision: 7.00alpha2
Mar 16 14:09:03 [kernel] ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx
Mar 16 14:09:03 [kernel] ICH5: IDE controller (0x8086:0x24db rev 0x02) at  PCI slot 0000:00:1f.1
Mar 16 14:09:03 [kernel] ACPI: PCI Interrupt 0000:00:1f.1[A] -> GSI 18 (level, low) -> IRQ 18
Mar 16 14:09:03 [kernel] ICH5: not 100% native mode: will probe irqs later
Mar 16 14:09:03 [kernel]     ide0: BM-DMA at 0xf000-0xf007, BIOS settings: hda:pio, hdb:DMA
Mar 16 14:09:03 [kernel]     ide1: BM-DMA at 0xf008-0xf00f, BIOS settings: hdc:DMA, hdd:DMA
Mar 16 14:09:03 [kernel] hdb: QUANTUM FIREBALLlct10 10, ATA DISK drive
Mar 16 14:09:03 [kernel] hdb: drive side 80-wire cable detection failed, limiting max speed to UDMA33
Mar 16 14:09:03 [kernel] hdb: UDMA/33 mode selected
Mar 16 14:09:03 [kernel] ide0 at 0x1f0-0x1f7,0x3f6 on irq 14
Mar 16 14:09:03 [kernel] hdd: HL-DT-ST GCE-8527B, ATAPI CD/DVD-ROM drive
Mar 16 14:09:03 [kernel] hdc: BENQ DVD DD DW1650, ATAPI CD/DVD-ROM drive
Mar 16 14:09:03 [kernel] hdc: UDMA/33 mode selected
Mar 16 14:09:03 [kernel] hdd: UDMA/33 mode selected
Mar 16 14:09:03 [kernel] ide1 at 0x170-0x177,0x376 on irq 15
Mar 16 14:09:03 [kernel] hdc: lost interrupt
Mar 16 14:09:03 [kernel] hdc: task_in_intr: status=0x59 { DriveReady SeekComplete DataRequest Error }
Mar 16 14:09:03 [kernel] hdc: task_in_intr: error=0x00 { }
Mar 16 14:09:03 [kernel] hdb: max request size: 128KiB
Mar 16 14:09:03 [kernel] hdb: Host Protected Area detected.
Mar 16 14:09:03 [kernel] _current capacity is 20041967 sectors (10261 MB)
Mar 16 14:09:03 [kernel] _native  capacity is 20044080 sectors (10262 MB)
Mar 16 14:09:03 [kernel] hdb: Host Protected Area disabled.
Mar 16 14:09:03 [kernel] hdb: 20044080 sectors (10262 MB) w/418KiB Cache, CHS=19885/16/63
Mar 16 14:09:03 [kernel] hdb: cache flushes not supported
Mar 16 14:09:03 [kernel]  hdb: hdb1
Mar 16 14:09:03 [kernel] hdc: status error: status=0x59 { DriveReady SeekComplete DataRequest Error }
Mar 16 14:09:03 [kernel] hdc: status error: error=0x00 { }
Mar 16 14:09:03 [kernel] ide: failed opcode was: unknown
Mar 16 14:09:03 [kernel] hdc: drive not ready for command
Mar 16 14:09:03 [kernel] hdc: ATAPI CD-ROM drive, 0kB Cache
Mar 16 14:09:03 [kernel] Uniform CD-ROM driver Revision: 3.20

and all the time kernel is spamming system log with:

Mar 16 14:12:03 [kernel] hdc: status error: status=0x59 { DriveReady SeekComplete DataRequest Error }
Mar 16 14:12:03 [kernel] hdc: status error: error=0x00 { }
Mar 16 14:12:03 [kernel] ide: failed opcode was: unknown
Mar 16 14:12:03 [kernel] hdc: drive not ready for command

Expected Results:  
dvd drive .. working :)

other bug report related to that problem:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/182996

git commit (upstream patch):
http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=b140b99c413ce410197cfcd4014e757cd745226a;hp=88b2b32babd46cd54d2de4d17eb869aea3383e11
Comment 1 Maciej Mrozowski gentoo-dev 2008-03-16 18:29:13 UTC
upps. about that link to git commit - it may be actually commit intruducing
this problem

more info:
http://readlist.com/lists/vger.kernel.org/linux-kernel/93/465595.html

and similar problem here:
http://www.gossamer-threads.com/lists/linux/kernel/841704

it seems that 2.6.24 is rather an experimental release
(http://kerneltrap.org/mailarchive/linux-kernel/2008/1/24/603479) introducing
many new features (like tickless kernel) and some regressions in ide module as
well, maybe whole 2.6.24 should be avoided on stable gentoo-sources releases
for now
Comment 2 Trent Apted 2008-03-18 10:40:07 UTC
(In reply to comment #1)
> maybe whole 2.6.24 should be avoided on stable gentoo-sources releases
> for now

Yah. Same problem here -- 2.6.24 is unusable on at least one of my Gentoo machines. Haven't been game to try it out an any others.

Old behaviour (2.6.23): 

Mar 15 00:57:06 [kernel] hda: PHILIPS DVD+/-RW DVD8801, ATAPI CD/DVD-ROM drive
Mar 15 00:57:06 [kernel] hda: ATAPI 48X DVD-ROM DVD-R CD-R/RW drive, 2048kB Cache, UDMA(33)
Mar 17 18:33:41 [kernel]     ide0: BM-DMA at 0xffa0-0xffa7, BIOS settings: hda:DMA, hdb:pio


New behaviour (2.6.24):

Mar 17 18:33:41 [kernel]     ide0: BM-DMA at 0xffa0-0xffa7, BIOS settings: hda:DMA, hdb:pio
Mar 17 18:33:41 [kernel] hda: PHILIPS DVD+/-RW DVD8801, ATAPI CD/DVD-ROM drive
Mar 17 18:33:41 [kernel] hda: UDMA/33 mode selected
Mar 17 18:33:41 [kernel] hda: lost interrupt
Mar 17 18:33:41 [kernel] hda: task_in_intr: status=0x59 { DriveReady SeekComplete DataRequest Error }
Mar 17 18:33:41 [kernel] hda: task_in_intr: error=0x00 { }
Mar 17 18:33:41 [kernel] hda: status error: status=0x59 { DriveReady SeekComplete DataRequest Error }
Mar 17 18:33:41 [kernel] hda: status error: error=0x00 { }
Mar 17 18:33:41 [kernel] hda: drive not ready for command
Mar 17 18:33:41 [kernel] hda: ATAPI CD-ROM drive, 0kB Cache
Mar 17 18:33:41 [kernel] hda: status error: status=0x59 { DriveReady SeekComplete DataRequest Error }
Mar 17 18:33:41 [kernel] hda: status error: error=0x00 { }
Mar 17 18:33:41 [kernel] hda: drive not ready for command
Mar 17 18:33:41 [kernel] hda: status error: status=0x59 { DriveReady SeekComplete DataRequest Error }
Mar 17 18:33:41 [kernel] hda: status error: error=0x00 { }
Mar 17 18:33:41 [kernel] hda: drive not ready for command
Mar 17 18:33:41 [kernel] hda: status error: status=0x59 { DriveReady SeekComplete DataRequest Error }
Mar 17 18:33:41 [kernel] hda: status error: error=0x00 { }
Mar 17 18:33:41 [kernel] hda: drive not ready for command
Mar 17 18:33:41 [kernel] hda: status error: status=0x59 { DriveReady SeekComplete DataRequest Error }
Mar 17 18:33:41 [kernel] hda: status error: error=0x00 { }
Mar 17 18:33:41 [kernel] hda: drive not ready for command
...


repeats continuously. CD-ROM drive unusable -- doesn't even eject.

Thanks for the links, hopefully a fix will come through from kernel devs soon. But, I'd really suggest re-masking 2.6.24-3
Comment 3 Daniel Drake (RETIRED) gentoo-dev 2008-03-18 10:52:22 UTC
can either of you confirm that you're hitting the same bug? i.e. reverting the above mentioned commit solves the problem?
Comment 4 Trent Apted 2008-03-18 11:15:20 UTC
(In reply to comment #3)
> can either of you confirm that you're hitting the same bug? i.e. reverting the
> above mentioned commit solves the problem?


Yes. I can confirm that reverting that commit fixed the problem for me.

Sorry if this is a bit ad-hoc (a reverse patch didn't apply cleanly), and I'm testing this remotely..

But after patching with:

pc-306-1 linux # cat rollback.patch 
--- drivers/ide/ide-probe.c.before	2008-03-18 22:07:21.000000000 +1100
+++ drivers/ide/ide-probe.c	2008-03-18 22:07:50.000000000 +1100
@@ -774,7 +774,7 @@
 	/*
 	 * Need to probe slave device first to make it release PDIAG-.
 	 */
-	for (unit = MAX_DRIVES - 1; unit >= 0; unit--) {
+	for (unit = 0; unit < MAX_DRIVES; ++unit) {
 		ide_drive_t *drive = &hwif->drives[unit];
 		drive->dn = (hwif->channel ? 2 : 0) + unit;
 		(void) probe_for_drive(drive);


I no longer get errors in dmesg. And

eject
eject -t

worked fine .. but I can't actually *see* the CD-ROM drive until tomorrow..
Comment 5 Daniel Drake (RETIRED) gentoo-dev 2008-03-18 12:28:24 UTC
ok, thanks, will track the upstream bug
Comment 6 Maciej Mrozowski gentoo-dev 2008-03-19 00:12:29 UTC
I can also confirm, that reverting back this commit fixes this problem with 2.6.24-r3 on my machine with BenQ drive on master channel. Maybe it would be necessary to test and swap drives so that BenQ would be slave and check, whether is there any problem with kernel with reverted commit.
Comment 7 Trent Apted 2008-05-30 02:41:39 UTC
So, I just accidentally booted off linux-2.6.24-gentoo-r8 without patching it and encountered the same problem. So I decided to give 2.6.25 a go (linux-2.6.25-gentoo-r4), and the regression seems to be gone.

However, the upstream bug does not yet reflect this: 
http://bugzilla.kernel.org/show_bug.cgi?id=10239