On Mon, 2005-03-21 at 12:41 -0800, Andrew Morton wrote:
> From: [EMAIL PROTECTED]
> Subject: [Bug 4282] ALSA driver in Linux 2.6.11 causes a kernel panic when 
> loading the EMU10K1 driver
> 

This one is a real mystery.  No one can reproduce it.

> From: [EMAIL PROTECTED]
> Subject: [Bugme-new] [Bug 4348] New: snd_emu10k1 oops'es with Audigy 2 and
> 

This one is fixed in ALSA CVS.  Here is the patch.

Lee

Summary: fix oopses in emu10k1 mixer

Signed-Off-By: Arnaud Patard <[EMAIL PROTECTED]>

Index: emumixer.c
===================================================================
RCS file: /cvsroot/alsa/alsa-kernel/pci/emu10k1/emumixer.c,v
retrieving revision 1.32
diff -u -r1.32 emumixer.c
--- emumixer.c  13 Mar 2005 12:17:09 -0000      1.32
+++ emumixer.c  16 Mar 2005 17:10:10 -0000
@@ -482,9 +482,13 @@
                        change = 1;
                }
        }       
-       if (change && mix->epcm->voices[ch])
-               update_emu10k1_fxrt(emu, mix->epcm->voices[ch]->number,
-                                   &mix->send_routing[0][0]);
+
+       if (change && mix->epcm) {
+               if (mix->epcm->voices[ch]) {
+                       update_emu10k1_fxrt(emu, mix->epcm->voices[ch]->number,
+                                       &mix->send_routing[0][0]);
+               }
+       }
        spin_unlock_irqrestore(&emu->reg_lock, flags);
        return change;
 }
@@ -544,9 +548,12 @@
                        change = 1;
                }
        }
-       if (change && mix->epcm->voices[ch])
-               update_emu10k1_send_volume(emu, mix->epcm->voices[ch]->number,
-                                          &mix->send_volume[0][0]);
+       if (change && mix->epcm) {
+               if (mix->epcm->voices[ch]) {
+                       update_emu10k1_send_volume(emu, 
mix->epcm->voices[ch]->number,
+                                                  &mix->send_volume[0][0]);
+               }
+       }
        spin_unlock_irqrestore(&emu->reg_lock, flags);
        return change;
 }
@@ -600,8 +607,11 @@
                mix->attn[0] = val;
                change = 1;
        }
-       if (change && mix->epcm->voices[ch])
-               snd_emu10k1_ptr_write(emu, VTFT_VOLUMETARGET, 
mix->epcm->voices[ch]->number, mix->attn[0]);
+       if (change && mix->epcm) {
+               if (mix->epcm->voices[ch]) {
+                       snd_emu10k1_ptr_write(emu, VTFT_VOLUMETARGET, 
mix->epcm->voices[ch]->number, mix->attn[0]);
+               }
+       }
        spin_unlock_irqrestore(&emu->reg_lock, flags);
        return change;
 }




-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to