Index: bthidev.c
===================================================================
RCS file: /cvsroot/src/sys/dev/bluetooth/bthidev.c,v
retrieving revision 1.19
diff -u -r1.19 bthidev.c
--- bthidev.c	28 Apr 2010 06:13:51 -0000	1.19
+++ bthidev.c	31 Dec 2011 00:50:05 -0000
@@ -919,9 +919,8 @@
 	memcpy(mtod(m, uint8_t *) + 2, report, rlen);
 	m->m_pkthdr.len = m->m_len = rlen + 2;
 
-	mutex_enter(bt_lock);
+	KASSERT(mutex_owned(bt_lock));
 	err = l2cap_send(sc->sc_int, m);
-	mutex_exit(bt_lock);
 
 	return err;
 }
Index: btkbd.c
===================================================================
RCS file: /cvsroot/src/sys/dev/bluetooth/btkbd.c,v
retrieving revision 1.11
diff -u -r1.11 btkbd.c
--- btkbd.c	12 May 2009 12:10:46 -0000	1.11
+++ btkbd.c	31 Dec 2011 00:50:05 -0000
@@ -378,7 +378,9 @@
 		break;
 
 	case WSKBDIO_SETLEDS:
+		mutex_enter(bt_lock);
 		btkbd_set_leds(sc, *(int *)data);
+		mutex_exit(bt_lock);
 		break;
 
 	case WSKBDIO_GETLEDS: