Re: More data on ide-cd "playing music" death

Andre M. Hedrick (hedrick@astro.dyer.vanderbilt.edu)
Mon, 30 Nov 1998 13:52:28 -0600 (CST)


Hey Jens and Chris,

I can/have reproduce the report and was about to bug you also.
A little more datails........there are only problems if the drive tries to
run in UDMA mode period........this may also react the same way if DMA is
enabled regardless of mode...........

Part of this may be in the raw ide-driver, since I get additional reports
of "lost interrupts". Since the problems go away if I force transfer
rates to a PIO level, there is a combination problem IMHO......now where
to start if there are two potential overlapping bugs????

On Mon, 30 Nov 1998, Romano Giannetti wrote:

> 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

At one point in time........there was a cd-speed-something tool?
Should we consider a pyramid stepping rate to begin transfers while
slowing increasing spindle rates to prevent timeouts? Or propose a table
of timeouts that are scaled to the max speed of the cdrom and adjust for
interrupt ide_wait commands?

> (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.

This reset dissable DMA, if I understand you statement, thus resulting in
PIO transfers and problems go away from then on, right????????

> 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/
>

Cheers,
Andre Hedrick
The IDE-FNG for Linux
The APC UPS Specialist for Linux

http://www.dyer.vanderbilt.edu/server/udma/
http://www.dyer.vanderbilt.edu/server/apcupsd/apcupsd-3.5.0.bin.tar.gz

-
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/