All of lore.kernel.org
 help / color / mirror / Atom feed
From: Lee Revell <rlrevell@joe-job.com>
To: Daniel James <daniel@64studio.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: Thu, 11 Aug 2005 12:19:06 -0400	[thread overview]
Message-ID: <1123777147.6980.37.camel@mindpipe> (raw)
In-Reply-To: <200508111643.27160.daniel@64studio.com>

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 the Better Software Conference & EXPO
September 19-22, 2005 * San Francisco, CA * Development Lifecycle Practices
Agile & Plan-Driven Development * Managing Projects & Teams * Testing & QA
Security * Process Improvement & Measurement * http://www.sqe.com/bsce5sf

  reply	other threads:[~2005-08-11 16:19 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 [this message]
2005-09-08 15:53       ` Daniel James
2005-09-14 11:18       ` Daniel James
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=1123777147.6980.37.camel@mindpipe \
    --to=rlrevell@joe-job.com \
    --cc=alsa-devel@lists.sourceforge.net \
    --cc=daniel@64studio.com \
    --cc=free@64studio.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.