Source-Changes-HG archive

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

[src/trunk]: src/sys/dev drop the thread lock in a couple of error cases that...



details:   https://anonhg.NetBSD.org/src/rev/ec05c0917fee
branches:  trunk
changeset: 771924:ec05c0917fee
user:      mrg <mrg%NetBSD.org@localhost>
date:      Fri Dec 09 05:08:25 2011 +0000

description:
drop the thread lock in a couple of error cases that were missing.

diffstat:

 sys/dev/audio.c |  6 ++++--
 1 files changed, 4 insertions(+), 2 deletions(-)

diffs (34 lines):

diff -r 6fa3ec2be800 -r ec05c0917fee sys/dev/audio.c
--- a/sys/dev/audio.c   Fri Dec 09 05:06:57 2011 +0000
+++ b/sys/dev/audio.c   Fri Dec 09 05:08:25 2011 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: audio.c,v 1.255 2011/11/25 03:13:06 jakllsch Exp $     */
+/*     $NetBSD: audio.c,v 1.256 2011/12/09 05:08:25 mrg Exp $  */
 
 /*-
  * Copyright (c) 2008 The NetBSD Foundation, Inc.
@@ -155,7 +155,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: audio.c,v 1.255 2011/11/25 03:13:06 jakllsch Exp $");
+__KERNEL_RCSID(0, "$NetBSD: audio.c,v 1.256 2011/12/09 05:08:25 mrg Exp $");
 
 #include "audio.h"
 #if NAUDIO > 0
@@ -464,6 +464,7 @@
                    AUMODE_PLAY, AU_RING_SIZE);
                if (error) {
                        sc->hw_if = NULL;
+                       mutex_exit(sc->sc_lock);
                        aprint_error("audio: could not allocate play buffer\n");
                        return;
                }
@@ -475,6 +476,7 @@
                        if (sc->sc_pr.s.start != 0)
                                audio_free_ring(sc, &sc->sc_pr);
                        sc->hw_if = NULL;
+                       mutex_exit(sc->sc_lock);
                        aprint_error("audio: could not allocate record buffer\n");
                        return;
                }



Home | Main Index | Thread Index | Old Index