All of lore.kernel.org
 help / color / mirror / Atom feed
From: Rene Herman <rene.herman@keyaccess.nl>
To: Takashi Iwai <tiwai@suse.de>
Cc: Adam Belay <ambx1@neo.rr.com>, Andrew Morton <akpm@osdl.org>,
	Linux Kernel <linux-kernel@vger.kernel.org>
Subject: snd-cs4236 (possibly all isa-pnp cards or all alsa isa-pnp cards) broken in 2.6.16-rc4
Date: Mon, 20 Feb 2006 17:54:53 +0100	[thread overview]
Message-ID: <43F9F45D.20000@keyaccess.nl> (raw)

[-- Attachment #1: Type: text/plain, Size: 1940 bytes --]

Hi Takashi.

I noticed on 2.6.16-rc4 that my MPU-401 wasn't functional, due to a 
simple copy & paste error in sound/isa/cs423x/cs4236.c:

Index: local/sound/isa/cs423x/cs4236.c
===================================================================
--- local.orig/sound/isa/cs423x/cs4236.c        2006-02-11 
00:34:12.000000000 +0100
+++ local/sound/isa/cs423x/cs4236.c     2006-02-20 04:01:29.000000000 +0100
@@ -414,7 +414,7 @@ static int __devinit snd_card_cs423x_pnp
         }
         /* MPU initialization */
         if (acard->mpu && mpu_port[dev] > 0) {
-               if (snd_cs423x_pnp_init_mpu(dev, acard->ctrl, cfg) < 0)
+               if (snd_cs423x_pnp_init_mpu(dev, acard->mpu, cfg) < 0)
                         goto error;
         }
         kfree(cfg);

Please apply. However, when I tested it (mpu works fine again after 
this) I noticed that modprobe -r snd-cs4236 didn't release things -- 
specifically that the fixed index=1 I have for the card failed on a 
subsequent modprobe since ALSA believes that index is still taken.

I stuck a few printks in cs4236.c. From "snd_cs423x_unregister_all", 
"pnp_unregister_card_driver(&cs423x_pnpc_driver)" is indeed being called 
but the card driver's own remove method, snd_cs423x_pnpc_remove, is not.

I started looking, but ran into the next issue again -- when snd-cs4236 
is not card1 but card0, modprobe -r oopses in snd_timer_free (attached) 
meaning debugging this wants someone with more of an overview of recent 
damage done^W^Wchanges made.

Given that calling pnp_unregister_card_driver() is not cs4236 specific, 
I assume the problem is more general. Possibly all ALSA ISA-PnP drivers. 
Or, given that pnp_unregister_card_driver is not an ALSA function, maybe 
even all ISA-PnP drivers using the card_driver interface.

The more general this problem turns out, the more reason there would be 
for fixing this pre 2.6.16, obviously. I can test patches...

Rene.



[-- Attachment #2: oops --]
[-- Type: text/plain, Size: 1692 bytes --]

pnp: Device 01:01.03 disabled.
pnp: Device 01:01.02 disabled.
ALSA sound/isa/cs423x/cs4231_lib.c:208: in: auto calibration time out - reg = 0x18
ALSA sound/isa/cs423x/cs4231_lib.c:187: out: auto calibration time out - reg = 0x10, value = 0x80
ALSA sound/isa/cs423x/cs4231_lib.c:149: outm: auto calibration time out - reg = 0x18, value = 0x0
pnp: Device 01:01.00 disabled.
pnp: the driver 'cs4236_isapnp' has been unregistered
ALSA sound/core/seq/seq_device.c:574: drivers not released (2)
Unable to handle kernel paging request at virtual address f09c6058
 printing eip:
f09c6058
*pde = 016d6067
*pte = 00000000
Oops: 0000 [#1]
PREEMPT 
Modules linked in: snd_timer snd soundcore snd_page_alloc mga amd_k7_agp drm agpgart nfsd exportfs lockd sunrpc nls_iso8859_1 nls_cp437 vfat fat nls_base
CPU:    0
EIP:    0060:[<f09c6058>]    Not tainted VLI
EFLAGS: 00010282   (2.6.16-rc4-local #8) 
EIP is at 0xf09c6058
eax: ec20f400   ebx: ec20f400   ecx: ec20f4e8   edx: f09c6058
esi: b7f0417c   edi: 00000000   ebp: e627a000   esp: e627af54
ds: 007b   es: 007b   ss: 0068
Process modprobe (pid: 1359, threadinfo=e627a000 task=e8291ad0)
Stack: <0>f09b20f2 e62610e8 f09b3c20 f09b5bc0 c0126529 00000000 5f646e73 656d6974 
       c0130072 ffffffff e65d322c b7f14000 c0137f6c b7f13000 b7f14000 b7f14000 
       e65d33e4 ef12cae0 ef12cb10 ffff0001 0027a000 c0137fae 0805c3f8 b7f0417c 
Call Trace:
 [<f09b20f2>] snd_timer_free+0x3b/0x46 [snd_timer]
 [<f09b3c20>] alsa_timer_exit+0x27/0x42 [snd_timer]
 [<c0126529>] sys_delete_module+0x12b/0x155
 [<c0130072>] __pdflush+0x196/0x1ac
 [<c0137f6c>] do_munmap+0xe2/0xef
 [<c0137fae>] sys_munmap+0x35/0x4d
 [<c0102551>] syscall_call+0x7/0xb
Code:  Bad EIP value.

             reply	other threads:[~2006-02-20 16:54 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-02-20 16:54 Rene Herman [this message]
  -- strict thread matches above, loose matches on Subject: below --
2006-02-20 17:18 snd-cs4236 (possibly all isa-pnp cards or all alsa isa-pnp cards) broken in 2.6.16-rc4 Rene Herman
2006-02-20 17:18 Rene Herman
2006-02-21  5:27 ` Adam Belay
2006-02-21  5:27 ` Adam Belay
2006-02-21 15:37   ` Rene Herman
2006-02-21 15:37   ` Rene Herman
2006-02-21 14:18 ` Takashi Iwai
2006-02-21 15:51   ` Rene Herman
2006-02-21 15:51   ` Rene Herman
2006-02-21 17:43     ` Takashi Iwai
2006-02-21 19:35       ` Rene Herman
2006-02-21 19:35       ` Rene Herman
2006-02-21 17:43     ` Takashi Iwai
2006-02-21 14:18 ` 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=43F9F45D.20000@keyaccess.nl \
    --to=rene.herman@keyaccess.nl \
    --cc=akpm@osdl.org \
    --cc=ambx1@neo.rr.com \
    --cc=linux-kernel@vger.kernel.org \
    --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.