lkml.org 
[lkml]   [1998]   [Nov]   [30]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectMore 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/

\
 
 \ /
  Last update: 2005-03-22 13:45    [W:0.079 / U:0.092 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site