Messages in this thread | | | Date | Mon, 30 Nov 1998 16:54:19 +0100 | From | Romano Giannetti <> | Subject | More data on ide-cd "playing music" death |
| |
It is time now to resend some report about cd cdplay problem.
Background: Acer ide-cd 32x udma. Kernel 2.1.130, UP on a PII machine. Problem: when listening an audio cd, after a while (more or less, half a disk), the player program (tcd in my case) goes in a state D limb and the syslog gets filled by:
Nov 30 16:04:39 pern kernel: hdc: lost interrupt Nov 30 16:04:39 pern kernel: hdc: cdrom_pc_intr: The drive appears confused (ireason = 0x 1)
And I have to reboot. I tried all the combination of boot (hdc=noprobe hdc=cdrom or hdc=noautotune) and hdparm (masking and unmasking interrupt) without any luck. I tried to look to ide-cd.c, to add at the point:
pc->buflen -= thislen; } else { printk ("%s: cdrom_pc_intr: The drive " "appears confused (ireason = 0x%2x)\n", drive->name, ireason); pc->stat = 1; }
Something lke the #ifdef'd 0 in ide_cdrom_reset sequence, but really I could not find the right struct to point to :(.
Now, sometime, reading a isofs disk, when the disc needs to spin up (well, APM is disabled in BIOS and not compiled in kernel, but the cdrom did spin down and I like it, giving the airplane like noise it does when spinning), I have a "timeout", but then a reset will automatically restore it in a few seconds.
So, I think that this shuold be hw related, but I think too that having to reboot the machine is a bit strong. I will like an abrupt solution too (reset the drive and SIGSEGV all programs waiting for it), everything is better than having an almost-dead machine. I mean, something on the line of:
static int being_confused=0; ... } else { printk ("%s: cdrom_pc_intr: The drive " "appears confused (ireason = 0x%2x)\n", drive->name, ireason); being_confused++; if (being_confused>10) { /* Use _really_ drastic measures to reset drive*/ being_confused=0; } pc->stat = 1; } Well, not so much help, but I am ready to try patches at your will. Bye, Romano
-- Romano Giannetti, Professor - Univ. Pontificia Comillas (Madrid, Spain) Electronic Engineer - phone +34 915 422 800 ext 2410 fax +34 915 596 569
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/
| |