Module Name: src
Committed By: mrg
Date: Mon Mar 26 06:49:16 UTC 2012
Modified Files:
src/sys/dev/bluetooth: btsco.c
Log Message:
don't use mutex_spin*() on an IPL_NONE mutex. fixes PR#46120.
To generate a diff of this commit:
cvs rdiff -u -r1.26 -r1.27 src/sys/dev/bluetooth/btsco.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/sys/dev/bluetooth/btsco.c
diff -u src/sys/dev/bluetooth/btsco.c:1.26 src/sys/dev/bluetooth/btsco.c:1.27
--- src/sys/dev/bluetooth/btsco.c:1.26 Sat Dec 10 16:16:11 2011
+++ src/sys/dev/bluetooth/btsco.c Mon Mar 26 06:49:15 2012
@@ -1,4 +1,4 @@
-/* $NetBSD: btsco.c,v 1.26 2011/12/10 16:16:11 jmcneill Exp $ */
+/* $NetBSD: btsco.c,v 1.27 2012/03/26 06:49:15 mrg Exp $ */
/*-
* Copyright (c) 2006 Itronix Inc.
@@ -32,7 +32,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: btsco.c,v 1.26 2011/12/10 16:16:11 jmcneill Exp $");
+__KERNEL_RCSID(0, "$NetBSD: btsco.c,v 1.27 2012/03/26 06:49:15 mrg Exp $");
#include <sys/param.h>
#include <sys/audioio.h>
@@ -458,7 +458,7 @@ btsco_sco_disconnected(void *arg, int er
* has completed so that when it tries to send more, we
* can indicate an error.
*/
- mutex_spin_enter(&sc->sc_intr_lock);
+ mutex_enter(&sc->sc_intr_lock);
if (sc->sc_tx_pending > 0) {
sc->sc_tx_pending = 0;
(*sc->sc_tx_intr)(sc->sc_tx_intrarg);
@@ -467,7 +467,7 @@ btsco_sco_disconnected(void *arg, int er
sc->sc_rx_want = 0;
(*sc->sc_rx_intr)(sc->sc_rx_intrarg);
}
- mutex_spin_exit(&sc->sc_intr_lock);
+ mutex_exit(&sc->sc_intr_lock);
break;
default:
@@ -501,13 +501,13 @@ btsco_sco_complete(void *arg, int count)
DPRINTFN(10, "%s count %d\n", sc->sc_name, count);
- mutex_spin_enter(&sc->sc_intr_lock);
+ mutex_enter(&sc->sc_intr_lock);
if (sc->sc_tx_pending > 0) {
sc->sc_tx_pending -= count;
if (sc->sc_tx_pending == 0)
(*sc->sc_tx_intr)(sc->sc_tx_intrarg);
}
- mutex_spin_exit(&sc->sc_intr_lock);
+ mutex_exit(&sc->sc_intr_lock);
}
static void
@@ -526,7 +526,7 @@ btsco_sco_input(void *arg, struct mbuf *
DPRINTFN(10, "%s len=%d\n", sc->sc_name, m->m_pkthdr.len);
- mutex_spin_enter(&sc->sc_intr_lock);
+ mutex_enter(&sc->sc_intr_lock);
if (sc->sc_rx_want == 0) {
m_freem(m);
} else {
@@ -552,7 +552,7 @@ btsco_sco_input(void *arg, struct mbuf *
if (sc->sc_rx_want == 0)
(*sc->sc_rx_intr)(sc->sc_rx_intrarg);
}
- mutex_spin_exit(&sc->sc_intr_lock);
+ mutex_exit(&sc->sc_intr_lock);
}