Re: some missing spin_unlocks

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



At Wed, 24 Aug 2005 11:56:58 -0400,
Lee Revell wrote:
> 
> [added alsa-devel to cc:]
> 
> On Mon, 2005-08-22 at 15:26 -0700, Ted Unangst wrote:
> > I think these are all real bugs.
> > 
> > sound/synth/emux/emux_synth.c snd_emux_note_on, line 101
> > snd_assert will return without unlocking emu->voice_lock (line 89)
> 
> This one is probably a real bug.

The patch below fixes them (already applied to ALSA CVS tree).

================================================================

[PATCH] Fix missing spin_unlock

Fixed missing spin_unlock.

Signed-off-by: Takashi Iwai <[email protected]>


--- linux/sound/pci/au88x0/au88x0_pcm.c:1.9	Thu Aug 18 05:43:12 2005
+++ linux/sound/pci/au88x0/au88x0_pcm.c	Wed Aug 24 09:57:25 2005
@@ -220,8 +220,10 @@
 		    vortex_adb_allocroute(chip, -1,
 					  params_channels(hw_params),
 					  substream->stream, type);
-		if (dma < 0)
+		if (dma < 0) {
+			spin_unlock_irq(&chip->lock);
 			return dma;
+		}
 		stream = substream->runtime->private_data = &chip->dma_adb[dma];
 		stream->substream = substream;
 		/* Setup Buffers. */
--- linux/sound/synth/emux/emux_synth.c:1.11	Tue Dec  7 07:36:07 2004
+++ linux/sound/synth/emux/emux_synth.c	Wed Aug 24 09:57:25 2005
@@ -98,7 +98,6 @@
 		vp = emu->ops.get_voice(emu, port);
 		if (vp == NULL || vp->ch < 0)
 			continue;
-		snd_assert(vp->emu != NULL && vp->hw != NULL, return);
 		if (STATE_IS_PLAYING(vp->state))
 			emu->ops.terminate(vp);
 
-
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/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]
  Powered by Linux