From: Domen Puncer <domen@coderock.org>
To: Takashi Iwai <tiwai@suse.de>
Cc: Lee Revell <rlrevell@joe-job.com>,
alsa-devel <alsa-devel@lists.sourceforge.net>
Subject: Re: snd_mpu401_uart: hang when trying to play .mid
Date: Fri, 10 Sep 2004 15:22:43 +0200 [thread overview]
Message-ID: <20040910132243.GA3546@masina.coderock.org> (raw)
In-Reply-To: <s5hwtz7unxr.wl@alsa2.suse.de>
Found an easier way to reproduce: `echo 1 > /dev/midi` :-)
On 06/09/04 22:45 +0200, Takashi Iwai wrote:
> At Mon, 06 Sep 2004 16:18:25 -0400,
> Lee Revell wrote:
> >
> > On Mon, 2004-09-06 at 14:58, Domen Puncer wrote:
> > > On 06/09/04 18:25 +0200, Takashi Iwai wrote:
> > > > At Mon, 6 Sep 2004 17:48:19 +0200,
> > > > Domen Puncer wrote:
> > > > > On 06/09/04 17:18 +0200, Takashi Iwai wrote:
> > > > > > Does your hardware really a MPU401 device?
It has MIDI/Joystick port.
> > > > > > If not, you can remove the call of snd_mpu401_uart_new() in
> > > > > > snd_trident_probe().
This helps.
> Yes, indeed, the trident code is shared among several different chips
> (trident 4D DX, 4D NX and SI7018), and MPU401 handling seems hitting
> on SI7018 only. I guess SI7018 is equipped mostly on laptops, which
> unlikely have MPU401 connectors. So, removing the mpu401 support for
> SI7018 may be the simplest and safest solution.
>
> Of course, we can track down the hang-up point (perhaps in the
> interrupt handler, snd_mpu401_uart_interrupt()) and fix it, too.
That would be nice.
I tried nmi_watchdog=1, but it didn't trigger on hang!?
Enabled sound debugging messages, added some printk's and got:
XXX: snd_mpu401_uart_output_open: 269
XXX: snd_mpu401_uart_cmd: 204
ALSA sound/drivers/mpu401/mpu401_uart.c:217: cmd: tx timeout (status = 0x50)
XXX: snd_mpu401_uart_cmd: 236
ALSA sound/drivers/mpu401/mpu401_uart.c:238: cmd: 0xff failed at 0x20 (status = 0xff, data = 0x1)
XXX: snd_mpu401_uart_cmd: 204
ALSA sound/drivers/mpu401/mpu401_uart.c:217: cmd: tx timeout (status = 0xff)
XXX: snd_mpu401_uart_cmd: 236
ALSA sound/drivers/mpu401/mpu401_uart.c:238: cmd: 0x3f failed at 0x20 (status = 0x3f, data = 0x1)
XXX: snd_mpu401_uart_output_trigger: 416
XXX: snd_mpu401_uart_add_timer: 164
XXX: snd_mpu401_uart_add_timer: 175
XXX: snd_mpu401_uart_output_write: 389
XXX: snd_mpu401_uart_remove_timer: 184
XXX: snd_mpu401_uart_remove_timer: 193
double fault, gdt at c1206260 [255 bytes]
NMI Watchdog detected LOCKUP on CPU0, eip c010e3b2, registers:
Modules linked in: ipv6 uhci_hcd ehci_hcd stv680 videodev ohci_hcd snd_trident snd_util_mem snd_mpu401_uart 8139too mii crc32
parport_pc ppdev parport snd_ens1371 snd_rawmidi snd_ac97_codec rtc
CPU: 0
EIP: 0060:[<c010e3b2>] Not tainted VLI
EFLAGS: 00004002 (2.6.9-rc1-bk7-kjt2)
EIP is at doublefault_fn+0x42/0x110
eax: 0120625f ebx: c1206260 ecx: c041acd8 edx: 0000406e
esi: 00000000 edi: 00000000 ebp: c04fd85c esp: c04fd838
ds: 007b es: 007b ss: 0068
Unable to handle kernel NULL pointer dereference at virtual address 00000068
printing eip:
c0118ab1
*pde = 00000000
Oops: 0000 [#1]
PREEMPT SMP DEBUG_PAGEALLOC
Modules linked in: ipv6 uhci_hcd ehci_hcd stv680 videodev ohci_hcd snd_trident snd_util_mem snd_mpu401_uart 8139too mii crc32
parport_pc ppdev parport snd_ens1371 snd_rawmidi snd_ac97_codec rtc
CPU: 0
EIP: 0060:[<c0118ab1>] Not tainted VLI
EFLAGS: 00010017 (2.6.9-rc1-bk7-kjt2)
EIP is at do_page_fault+0x51/0x562
eax: c04ed000 ebx: c04fd000 ecx: 0000007b edx: 00000000
esi: 00000000 edi: c0118a60 ebp: c04ed16c esp: c04ed0cc
ds: 007b es: 007b ss: 0068
Process bash (pid: 3382, threadinfo=c04ec000 task=ca5e0a40)
Stack: 00000000 00000000 00000000 00000068 00000000 00000000 00000000 00030001
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
Call Trace:
Stack pointer is garbage, not printing trace
Code: ff 21 e0 81 bd 6c ff ff ff ff ff ff bf 8b 10 c7 85 7c ff ff ff 01 00 03 00 89 95 70 ff ff ff 0f 87 bc 04 00 00 8b 95 70
ff ff ff <8b> 5a 68 8b 50 14 8b 00 81 e2 ff ff ff fb 8b 40 14 f7 d0 c1 e8
<0>Kernel panic - not syncing: Fatal exception in interrupt
-----
Then i removed/added some printk's and got:
XXX: snd_mpu401_uart_output_open: 266
XXX: snd_mpu401_uart_cmd: 202
ALSA sound/drivers/mpu401/mpu401_uart.c:215: cmd: tx timeout (status = 0x50)
ALSA sound/drivers/mpu401/mpu401_uart.c:235: cmd: 0xff failed at 0x20 (status = 0x50, data = 0x0)
XXX: snd_mpu401_uart_cmd: 202
ALSA sound/drivers/mpu401/mpu401_uart.c:215: cmd: tx timeout (status = 0x50)
ALSA sound/drivers/mpu401/mpu401_uart.c:235: cmd: 0x3f failed at 0x20 (status = 0x50, data = 0x0)
XXX: snd_mpu401_uart_output_trigger: 413
XXX: snd_mpu401_uart_add_timer: 164
XXX: snd_mpu401_uart_output_write: 386
XXX: snd_mpu401_uart_timer: 146
XXX: snd_mpu401_uart_timer: 152
XXX: _snd_mpu401_uart_interrupt: 95
ALSA sound/drivers/mpu401/mpu401_uart.c:89: cmd: clear rx timeout (status = 0x50)
XXX: _snd_mpu401_uart_interrupt: 105
XXX: snd_mpu401_uart_output_write: 386
XXX: _snd_mpu401_uart_interrupt: 115
XXX: snd_mpu401_uart_timer: 146
XXX: snd_mpu401_uart_timer: 152
XXX: _snd_mpu401_uart_interrupt: 95
ALSA sound/drivers/mpu401/mpu401_uart.c:89: cmd: clear rx timeout (status = 0x50)
(last 7 lines seem to be repeating forever)
-----
Something else i could try?
Domen
-------------------------------------------------------
This SF.Net email is sponsored by: YOU BE THE JUDGE. Be one of 170
Project Admins to receive an Apple iPod Mini FREE for your judgement on
who ports your project to Linux PPC the best. Sponsored by IBM.
Deadline: Sept. 13. Go here: http://sf.net/ppc_contest.php
prev parent reply other threads:[~2004-09-10 13:22 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-09-05 9:22 snd_mpu401_uart: hang when trying to play .mid Domen Puncer
2004-09-06 15:18 ` Takashi Iwai
2004-09-06 15:48 ` Domen Puncer
2004-09-06 16:25 ` Takashi Iwai
2004-09-06 18:58 ` Domen Puncer
2004-09-06 20:18 ` Lee Revell
2004-09-06 20:45 ` Takashi Iwai
2004-09-07 6:18 ` Domen Puncer
2004-09-10 13:22 ` Domen Puncer [this message]
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=20040910132243.GA3546@masina.coderock.org \
--to=domen@coderock.org \
--cc=alsa-devel@lists.sourceforge.net \
--cc=rlrevell@joe-job.com \
--cc=tiwai@suse.de \
/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.