Module Name: src
Committed By: skrll
Date: Mon Dec 28 10:15:09 UTC 2015
Modified Files:
src/sys/dev/usb [nick-nhusb]: uatp.c ubt.c ugen.c uhid.c uhidev.c
umass.c umidi.c
Log Message:
Use IPL_SOFTUSB instead of IPL_USB appropriately. Transfer completions
are executed as a softint and so this is the priority level required.
To generate a diff of this commit:
cvs rdiff -u -r1.10.4.6 -r1.10.4.7 src/sys/dev/usb/uatp.c
cvs rdiff -u -r1.51.4.7 -r1.51.4.8 src/sys/dev/usb/ubt.c
cvs rdiff -u -r1.126.2.12 -r1.126.2.13 src/sys/dev/usb/ugen.c
cvs rdiff -u -r1.92.4.7 -r1.92.4.8 src/sys/dev/usb/uhid.c
cvs rdiff -u -r1.61.4.10 -r1.61.4.11 src/sys/dev/usb/uhidev.c
cvs rdiff -u -r1.149.2.10 -r1.149.2.11 src/sys/dev/usb/umass.c
cvs rdiff -u -r1.65.14.9 -r1.65.14.10 src/sys/dev/usb/umidi.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/usb/uatp.c
diff -u src/sys/dev/usb/uatp.c:1.10.4.6 src/sys/dev/usb/uatp.c:1.10.4.7
--- src/sys/dev/usb/uatp.c:1.10.4.6 Tue Sep 29 11:38:29 2015
+++ src/sys/dev/usb/uatp.c Mon Dec 28 10:15:09 2015
@@ -1,4 +1,4 @@
-/* $NetBSD: uatp.c,v 1.10.4.6 2015/09/29 11:38:29 skrll Exp $ */
+/* $NetBSD: uatp.c,v 1.10.4.7 2015/12/28 10:15:09 skrll Exp $ */
/*-
* Copyright (c) 2011-2014 The NetBSD Foundation, Inc.
@@ -146,7 +146,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: uatp.c,v 1.10.4.6 2015/09/29 11:38:29 skrll Exp $");
+__KERNEL_RCSID(0, "$NetBSD: uatp.c,v 1.10.4.7 2015/12/28 10:15:09 skrll Exp $");
#include <sys/types.h>
#include <sys/param.h>
@@ -2014,7 +2014,7 @@ tap_initialize(struct uatp_softc *sc)
{
callout_init(&sc->sc_untap_callout, 0);
callout_setfunc(&sc->sc_untap_callout, untap_callout, sc);
- mutex_init(&sc->sc_tap_mutex, MUTEX_DEFAULT, IPL_USB);
+ mutex_init(&sc->sc_tap_mutex, MUTEX_DEFAULT, IPL_SOFTUSB);
cv_init(&sc->sc_tap_cv, "uatptap");
}
Index: src/sys/dev/usb/ubt.c
diff -u src/sys/dev/usb/ubt.c:1.51.4.7 src/sys/dev/usb/ubt.c:1.51.4.8
--- src/sys/dev/usb/ubt.c:1.51.4.7 Mon Dec 28 09:26:33 2015
+++ src/sys/dev/usb/ubt.c Mon Dec 28 10:15:09 2015
@@ -1,4 +1,4 @@
-/* $NetBSD: ubt.c,v 1.51.4.7 2015/12/28 09:26:33 skrll Exp $ */
+/* $NetBSD: ubt.c,v 1.51.4.8 2015/12/28 10:15:09 skrll Exp $ */
/*-
* Copyright (c) 2006 Itronix Inc.
@@ -67,7 +67,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: ubt.c,v 1.51.4.7 2015/12/28 09:26:33 skrll Exp $");
+__KERNEL_RCSID(0, "$NetBSD: ubt.c,v 1.51.4.8 2015/12/28 10:15:09 skrll Exp $");
#include <sys/param.h>
#include <sys/device.h>
@@ -276,7 +276,7 @@ static const struct hci_if ubt_hci = {
.output_acl = ubt_xmit_acl,
.output_sco = ubt_xmit_sco,
.get_stats = ubt_stats,
- .ipl = IPL_USB, /* IPL_SOFTUSB ??? */
+ .ipl = IPL_SOFTUSB,
};
/*******************************************************************************
Index: src/sys/dev/usb/ugen.c
diff -u src/sys/dev/usb/ugen.c:1.126.2.12 src/sys/dev/usb/ugen.c:1.126.2.13
--- src/sys/dev/usb/ugen.c:1.126.2.12 Mon Dec 28 09:26:33 2015
+++ src/sys/dev/usb/ugen.c Mon Dec 28 10:15:09 2015
@@ -1,4 +1,4 @@
-/* $NetBSD: ugen.c,v 1.126.2.12 2015/12/28 09:26:33 skrll Exp $ */
+/* $NetBSD: ugen.c,v 1.126.2.13 2015/12/28 10:15:09 skrll Exp $ */
/*
* Copyright (c) 1998, 2004 The NetBSD Foundation, Inc.
@@ -37,7 +37,7 @@
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: ugen.c,v 1.126.2.12 2015/12/28 09:26:33 skrll Exp $");
+__KERNEL_RCSID(0, "$NetBSD: ugen.c,v 1.126.2.13 2015/12/28 10:15:09 skrll Exp $");
#ifdef _KERNEL_OPT
#include "opt_compat_netbsd.h"
@@ -222,7 +222,7 @@ ugen_attach(device_t parent, device_t se
aprint_naive("\n");
aprint_normal("\n");
- mutex_init(&sc->sc_lock, MUTEX_DEFAULT, IPL_USB);
+ mutex_init(&sc->sc_lock, MUTEX_DEFAULT, IPL_SOFTUSB);
cv_init(&sc->sc_detach_cv, "ugendet");
devinfop = usbd_devinfo_alloc(uaa->uaa_device, 0);
Index: src/sys/dev/usb/uhid.c
diff -u src/sys/dev/usb/uhid.c:1.92.4.7 src/sys/dev/usb/uhid.c:1.92.4.8
--- src/sys/dev/usb/uhid.c:1.92.4.7 Tue Sep 29 11:38:29 2015
+++ src/sys/dev/usb/uhid.c Mon Dec 28 10:15:09 2015
@@ -1,4 +1,4 @@
-/* $NetBSD: uhid.c,v 1.92.4.7 2015/09/29 11:38:29 skrll Exp $ */
+/* $NetBSD: uhid.c,v 1.92.4.8 2015/12/28 10:15:09 skrll Exp $ */
/*
* Copyright (c) 1998, 2004, 2008, 2012 The NetBSD Foundation, Inc.
@@ -35,7 +35,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: uhid.c,v 1.92.4.7 2015/09/29 11:38:29 skrll Exp $");
+__KERNEL_RCSID(0, "$NetBSD: uhid.c,v 1.92.4.8 2015/12/28 10:15:09 skrll Exp $");
#ifdef _KERNEL_OPT
#include "opt_compat_netbsd.h"
@@ -186,7 +186,7 @@ uhid_attach(device_t parent, device_t se
sc->sc_isize, sc->sc_osize, sc->sc_fsize);
mutex_init(&sc->sc_access_lock, MUTEX_DEFAULT, IPL_NONE);
- mutex_init(&sc->sc_lock, MUTEX_DEFAULT, IPL_USB);
+ mutex_init(&sc->sc_lock, MUTEX_DEFAULT, IPL_SOFTUSB);
cv_init(&sc->sc_cv, "uhidrea");
cv_init(&sc->sc_detach_cv, "uhiddet");
Index: src/sys/dev/usb/uhidev.c
diff -u src/sys/dev/usb/uhidev.c:1.61.4.10 src/sys/dev/usb/uhidev.c:1.61.4.11
--- src/sys/dev/usb/uhidev.c:1.61.4.10 Tue Oct 6 21:32:15 2015
+++ src/sys/dev/usb/uhidev.c Mon Dec 28 10:15:09 2015
@@ -1,4 +1,4 @@
-/* $NetBSD: uhidev.c,v 1.61.4.10 2015/10/06 21:32:15 skrll Exp $ */
+/* $NetBSD: uhidev.c,v 1.61.4.11 2015/12/28 10:15:09 skrll Exp $ */
/*
* Copyright (c) 2001, 2012 The NetBSD Foundation, Inc.
@@ -35,7 +35,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: uhidev.c,v 1.61.4.10 2015/10/06 21:32:15 skrll Exp $");
+__KERNEL_RCSID(0, "$NetBSD: uhidev.c,v 1.61.4.11 2015/12/28 10:15:09 skrll Exp $");
#include <sys/param.h>
#include <sys/systm.h>
@@ -136,7 +136,7 @@ uhidev_attach(device_t parent, device_t
aprint_naive("\n");
aprint_normal("\n");
- mutex_init(&sc->sc_lock, MUTEX_DEFAULT, IPL_USB);
+ mutex_init(&sc->sc_lock, MUTEX_DEFAULT, IPL_SOFTUSB);
id = usbd_get_interface_descriptor(iface);
Index: src/sys/dev/usb/umass.c
diff -u src/sys/dev/usb/umass.c:1.149.2.10 src/sys/dev/usb/umass.c:1.149.2.11
--- src/sys/dev/usb/umass.c:1.149.2.10 Mon Dec 28 09:26:33 2015
+++ src/sys/dev/usb/umass.c Mon Dec 28 10:15:09 2015
@@ -1,4 +1,4 @@
-/* $NetBSD: umass.c,v 1.149.2.10 2015/12/28 09:26:33 skrll Exp $ */
+/* $NetBSD: umass.c,v 1.149.2.11 2015/12/28 10:15:09 skrll Exp $ */
/*
* Copyright (c) 2003 The NetBSD Foundation, Inc.
@@ -124,7 +124,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: umass.c,v 1.149.2.10 2015/12/28 09:26:33 skrll Exp $");
+__KERNEL_RCSID(0, "$NetBSD: umass.c,v 1.149.2.11 2015/12/28 10:15:09 skrll Exp $");
#ifdef _KERNEL_OPT
#include "opt_usb.h"
@@ -337,7 +337,7 @@ umass_attach(device_t parent, device_t s
aprint_naive("\n");
aprint_normal("\n");
- mutex_init(&sc->sc_lock, MUTEX_DEFAULT, IPL_USB);
+ mutex_init(&sc->sc_lock, MUTEX_DEFAULT, IPL_SOFTUSB);
cv_init(&sc->sc_detach_cv, "umassdet");
devinfop = usbd_devinfo_alloc(uiaa->uiaa_device, 0);
Index: src/sys/dev/usb/umidi.c
diff -u src/sys/dev/usb/umidi.c:1.65.14.9 src/sys/dev/usb/umidi.c:1.65.14.10
--- src/sys/dev/usb/umidi.c:1.65.14.9 Mon Dec 28 09:26:33 2015
+++ src/sys/dev/usb/umidi.c Mon Dec 28 10:15:09 2015
@@ -1,4 +1,4 @@
-/* $NetBSD: umidi.c,v 1.65.14.9 2015/12/28 09:26:33 skrll Exp $ */
+/* $NetBSD: umidi.c,v 1.65.14.10 2015/12/28 10:15:09 skrll Exp $ */
/*
* Copyright (c) 2001, 2012, 2014 The NetBSD Foundation, Inc.
@@ -32,7 +32,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: umidi.c,v 1.65.14.9 2015/12/28 09:26:33 skrll Exp $");
+__KERNEL_RCSID(0, "$NetBSD: umidi.c,v 1.65.14.10 2015/12/28 10:15:09 skrll Exp $");
#include <sys/types.h>
#include <sys/param.h>
@@ -360,7 +360,7 @@ umidi_attach(device_t parent, device_t s
aprint_normal_dev(self, "");
umidi_print_quirk(sc->sc_quirk);
- mutex_init(&sc->sc_lock, MUTEX_DEFAULT, IPL_USB);
+ mutex_init(&sc->sc_lock, MUTEX_DEFAULT, IPL_SOFTUSB);
cv_init(&sc->sc_cv, "umidopcl");
cv_init(&sc->sc_detach_cv, "umidetcv");
sc->sc_refcnt = 0;
@@ -1214,11 +1214,11 @@ unbind_all_jacks(struct umidi_softc *sc)
{
int i;
- mutex_spin_enter(&sc->sc_lock);
+ mutex_enter(&sc->sc_lock);
if (sc->sc_mididevs)
for (i = 0; i < sc->sc_num_mididevs; i++)
unbind_jacks_from_mididev(&sc->sc_mididevs[i]);
- mutex_spin_exit(&sc->sc_lock);
+ mutex_exit(&sc->sc_lock);
}
static usbd_status
@@ -1387,9 +1387,9 @@ close_in_jack(struct umidi_jack *jack)
* the abort operation. This is safe as this
* either closing or dying will be set proerly.
*/
- mutex_spin_exit(&sc->sc_lock);
+ mutex_exit(&sc->sc_lock);
usbd_abort_pipe(jack->endpoint->pipe);
- mutex_spin_enter(&sc->sc_lock);
+ mutex_enter(&sc->sc_lock);
}
}
}
@@ -1417,12 +1417,12 @@ detach_mididev(struct umidi_mididev *mid
if (!sc)
return USBD_NO_ADDR;
- mutex_spin_enter(&sc->sc_lock);
+ mutex_enter(&sc->sc_lock);
if (mididev->opened) {
umidi_close(mididev);
}
unbind_jacks_from_mididev(mididev);
- mutex_spin_exit(&sc->sc_lock);
+ mutex_exit(&sc->sc_lock);
if (mididev->mdev != NULL)
config_detach(mididev->mdev, flags);