From: Daniel James <daniel@64studio.com>
To: Lee Revell <rlrevell@joe-job.com>
Cc: alsa-devel@lists.sourceforge.net, Free Ekanayaka <free@64studio.com>
Subject: Re: More info on hard lock-ups with MIDI on envy24, x86_64 machine
Date: Wed, 14 Sep 2005 12:18:49 +0100 [thread overview]
Message-ID: <200509141218.49448.daniel@64studio.com> (raw)
In-Reply-To: <1123777147.6980.37.camel@mindpipe>
Hi Lee,
We have now applied your patch to 2.6.13 and tried the test again. I
get the same result, and there is still nothing relevant output
to /var/log/messages
However, I am beginning to think that this may be a hardware fault or
a problem specific to this motherboard or hardware combination. After
a freeze-up triggered with strace seq24, I reboot and sometimes see
this message from the BIOS (ie, before GRUB is loaded):
PCI IRQ ROUTING TABLE ERROR [02:00:00]
I don't know if this is the cause of the freeze-up, or just a
consequence of it. A cold reboot makes the BIOS message go away.
To make sure this is a one-off problem, I'm going to build another
Opteron machine and test ALSA with that.
Cheers!
Daniel
> On Thu, 2005-08-11 at 16:43 +0100, Daniel James wrote:
> > Hi Lee,
> >
> > > I guess you have tried to trigger the crash from a console as
> > > well as X
> >
> > I've done that now. If I boot the system, switch to a console
> > with ctrl-alt-f1 and run nothing but:
> >
> > strace seq24
> >
> > it starts to go wrong after:
> >
> > open ("/dev/snd/seq", O_RDWR)
> >
> > There are a bunch of lines beginning with ioctl, then the killer
> > blow is dealt by:
> >
> > ioctl (3, CDROM_DEBUG or SNDRV_SEQ_IOCTL_SUBSCRIBE_PORT
> >
> > (This is retyped from hand-written notes of course). The machine
> > is then locked up solid - it's very reproducible too, same output
> > every time.
> >
> > > and there's no Oops output?
> >
> > Nothing at all appears in the console or in /var/log/messages.
> > Should I try increasing the log level or something like that?
>
> Try this (not even compile tested) patch. Right now it looks like
> the interrupt handler could loop forever if something weird
> happened. Now it will at least printk, and try to clear the
> interrupt pending register. This is shamelessly copied from the
> emu10k1 IRQ handler.
>
> Index: alsa-kernel/pci/ice1712/ice1712.c
> ===================================================================
> RCS file: /cvsroot/alsa/alsa-kernel/pci/ice1712/ice1712.c,v
> retrieving revision 1.68
> diff -u -r1.68 ice1712.c
> --- alsa-kernel/pci/ice1712/ice1712.c 3 Aug 2005 12:40:11
> -0000 1.68 +++ alsa-kernel/pci/ice1712/ice1712.c 11 Aug 2005
> 16:16:42 -0000 @@ -410,13 +410,14 @@
> static irqreturn_t snd_ice1712_interrupt(int irq, void *dev_id,
> struct pt_regs *regs) {
> ice1712_t *ice = dev_id;
> - unsigned char status;
> + unsigned char status, orig_status;
> int handled = 0;
>
> while (1) {
> status = inb(ICEREG(ice, IRQSTAT));
> if (status == 0)
> break;
> + orig_status = status;
> handled = 1;
> if (status & ICE1712_IRQ_MPU1) {
> if (ice->rmidi[0])
> @@ -472,6 +473,20 @@
> snd_pcm_period_elapsed(ice->playback_con_substream);
> outb(ICE1712_IRQ_CONPBK, ICEREG(ice, IRQSTAT));
> }
> + if (status) {
> + unsigned char bits;
> + snd_printk(KERN_ERR "ice1712: unhandled interrupt: 0x%08x\n",
> status); + bits = ICE1712_IRQ_MPU1 |
> + ICE1712_IRQ_TIMER |
> + ICE1712_IRQ_MPU2 |
> + ICE1712_IRQ_PROPCM |
> + ICE1712_IRQ_FM |
> + ICE1712_IRQ_PBKDS |
> + ICE1712_IRQ_CONCAP |
> + ICE1712_IRQ_CONPBK;
> + outb(bits, ICEREG(ice, IRQSTAT));
> + }
> + outb(orig_status, ICEREG(ice, IRQSTAT));
> }
> return IRQ_RETVAL(handled);
> }
-------------------------------------------------------
SF.Net email is sponsored by:
Tame your development challenges with Apache's Geronimo App Server.
Download it for free - -and be entered to win a 42" plasma tv or your very
own Sony(tm)PSP. Click here to play: http://sourceforge.net/geronimo.php
next prev parent reply other threads:[~2005-09-14 11:18 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-08-11 14:25 More info on hard lock-ups with MIDI on envy24, x86_64 machine Daniel James
2005-08-11 14:29 ` Lee Revell
2005-08-11 14:59 ` Daniel James
2005-08-11 15:43 ` Daniel James
2005-08-11 16:19 ` Lee Revell
2005-09-08 15:53 ` Daniel James
2005-09-14 11:18 ` Daniel James [this message]
2005-09-14 12:24 ` Takashi Iwai
2005-09-14 13:34 ` Daniel James
2005-09-16 12:52 ` Daniel James
2005-09-16 15:23 ` Takashi Iwai
2005-09-19 9:17 ` Daniel James
2005-12-05 12:34 ` Daniel James
2005-12-09 14:40 ` Takashi Iwai
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=200509141218.49448.daniel@64studio.com \
--to=daniel@64studio.com \
--cc=alsa-devel@lists.sourceforge.net \
--cc=free@64studio.com \
--cc=rlrevell@joe-job.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.