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: