Module Name:    src
Committed By:   riastradh
Date:           Sat Mar 19 11:37:06 UTC 2022

Modified Files:
        src/sys/arch/arm/broadcom: bcm2835_rng.c
        src/sys/arch/arm/omap: am335x_trng.c
        src/sys/arch/arm/rockchip: rk_v1crypto.c
        src/sys/arch/arm/sunxi: sun8i_crypto.c
        src/sys/arch/arm/ti: ti_rng.c
        src/sys/arch/mips/cavium/dev: octeon_rnm.c
        src/sys/arch/mips/ingenic: ingenic_rng.c
        src/sys/dev/ic: amdccp.c rng200.c
        src/sys/dev/pci: amdpm.c viornd.c
        src/sys/dev/usb: ualea.c

Log Message:
rnd(9): Adjust IPL of locks used by rndsource callbacks.

These no longer ever run from hard interrupt context or with a spin
lock held, so there is no longer any need to have them at IPL_VM to
block hard interrupts.  Instead, lower them to IPL_SOFTSERIAL.


To generate a diff of this commit:
cvs rdiff -u -r1.15 -r1.16 src/sys/arch/arm/broadcom/bcm2835_rng.c
cvs rdiff -u -r1.3 -r1.4 src/sys/arch/arm/omap/am335x_trng.c
cvs rdiff -u -r1.7 -r1.8 src/sys/arch/arm/rockchip/rk_v1crypto.c
cvs rdiff -u -r1.29 -r1.30 src/sys/arch/arm/sunxi/sun8i_crypto.c
cvs rdiff -u -r1.5 -r1.6 src/sys/arch/arm/ti/ti_rng.c
cvs rdiff -u -r1.13 -r1.14 src/sys/arch/mips/cavium/dev/octeon_rnm.c
cvs rdiff -u -r1.5 -r1.6 src/sys/arch/mips/ingenic/ingenic_rng.c
cvs rdiff -u -r1.3 -r1.4 src/sys/dev/ic/amdccp.c
cvs rdiff -u -r1.2 -r1.3 src/sys/dev/ic/rng200.c
cvs rdiff -u -r1.42 -r1.43 src/sys/dev/pci/amdpm.c
cvs rdiff -u -r1.14 -r1.15 src/sys/dev/pci/viornd.c
cvs rdiff -u -r1.15 -r1.16 src/sys/dev/usb/ualea.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/arch/arm/broadcom/bcm2835_rng.c
diff -u src/sys/arch/arm/broadcom/bcm2835_rng.c:1.15 src/sys/arch/arm/broadcom/bcm2835_rng.c:1.16
--- src/sys/arch/arm/broadcom/bcm2835_rng.c:1.15	Wed Jan 27 03:10:19 2021
+++ src/sys/arch/arm/broadcom/bcm2835_rng.c	Sat Mar 19 11:37:05 2022
@@ -1,4 +1,4 @@
-/*	$NetBSD: bcm2835_rng.c,v 1.15 2021/01/27 03:10:19 thorpej Exp $ */
+/*	$NetBSD: bcm2835_rng.c,v 1.16 2022/03/19 11:37:05 riastradh Exp $ */
 
 /*-
  * Copyright (c) 2013 The NetBSD Foundation, Inc.
@@ -30,7 +30,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: bcm2835_rng.c,v 1.15 2021/01/27 03:10:19 thorpej Exp $");
+__KERNEL_RCSID(0, "$NetBSD: bcm2835_rng.c,v 1.16 2022/03/19 11:37:05 riastradh Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -121,7 +121,7 @@ bcmrng_attach(device_t parent, device_t 
 	bus_space_write_4(sc->sc_iot, sc->sc_ioh, RNG_CTRL, ctrl);
 
 	/* set up an rndsource */
-	mutex_init(&sc->sc_lock, MUTEX_DEFAULT, IPL_VM);
+	mutex_init(&sc->sc_lock, MUTEX_DEFAULT, IPL_SOFTSERIAL);
 	rndsource_setcb(&sc->sc_rndsource, &bcmrng_get, sc);
 	rnd_attach_source(&sc->sc_rndsource, device_xname(self), RND_TYPE_RNG,
 	    RND_FLAG_COLLECT_VALUE|RND_FLAG_HASCB);
@@ -134,7 +134,7 @@ bcmrng_get(size_t bytes_wanted, void *ar
 	uint32_t status, cnt;
 	uint32_t buf[RNG_DATA_MAX]; /* 1k on the stack */
 
-	mutex_spin_enter(&sc->sc_lock);
+	mutex_enter(&sc->sc_lock);
 	while (bytes_wanted) {
 		status = bus_space_read_4(sc->sc_iot, sc->sc_ioh, RNG_STATUS);
 		cnt = __SHIFTOUT(status, RNG_STATUS_CNT);
@@ -148,5 +148,5 @@ bcmrng_get(size_t bytes_wanted, void *ar
 		bytes_wanted -= MIN(bytes_wanted, (cnt * 4));
 	}
 	explicit_memset(buf, 0, sizeof(buf));
-	mutex_spin_exit(&sc->sc_lock);
+	mutex_exit(&sc->sc_lock);
 }

Index: src/sys/arch/arm/omap/am335x_trng.c
diff -u src/sys/arch/arm/omap/am335x_trng.c:1.3 src/sys/arch/arm/omap/am335x_trng.c:1.4
--- src/sys/arch/arm/omap/am335x_trng.c:1.3	Thu Apr 30 03:40:52 2020
+++ src/sys/arch/arm/omap/am335x_trng.c	Sat Mar 19 11:37:05 2022
@@ -1,4 +1,4 @@
-/* $NetBSD: am335x_trng.c,v 1.3 2020/04/30 03:40:52 riastradh Exp $ */
+/* $NetBSD: am335x_trng.c,v 1.4 2022/03/19 11:37:05 riastradh Exp $ */
 
 /*-
  * Copyright (c) 2015 Jared D. McNeill <jmcne...@invisible.ca>
@@ -26,7 +26,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: am335x_trng.c,v 1.3 2020/04/30 03:40:52 riastradh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: am335x_trng.c,v 1.4 2022/03/19 11:37:05 riastradh Exp $");
 
 #include "opt_omap.h"
 
@@ -99,7 +99,7 @@ trng_attach(device_t parent, device_t se
 		return;
 	}
 
-	mutex_init(&sc->sc_lock, MUTEX_DEFAULT, IPL_VM);
+	mutex_init(&sc->sc_lock, MUTEX_DEFAULT, IPL_SOFTSERIAL);
 
 	prcm_module_enable(&rng_module);
 

Index: src/sys/arch/arm/rockchip/rk_v1crypto.c
diff -u src/sys/arch/arm/rockchip/rk_v1crypto.c:1.7 src/sys/arch/arm/rockchip/rk_v1crypto.c:1.8
--- src/sys/arch/arm/rockchip/rk_v1crypto.c:1.7	Wed Jan 27 03:10:19 2021
+++ src/sys/arch/arm/rockchip/rk_v1crypto.c	Sat Mar 19 11:37:05 2022
@@ -1,4 +1,4 @@
-/*	$NetBSD: rk_v1crypto.c,v 1.7 2021/01/27 03:10:19 thorpej Exp $	*/
+/*	$NetBSD: rk_v1crypto.c,v 1.8 2022/03/19 11:37:05 riastradh Exp $	*/
 
 /*-
  * Copyright (c) 2020 The NetBSD Foundation, Inc.
@@ -36,7 +36,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(1, "$NetBSD: rk_v1crypto.c,v 1.7 2021/01/27 03:10:19 thorpej Exp $");
+__KERNEL_RCSID(1, "$NetBSD: rk_v1crypto.c,v 1.8 2022/03/19 11:37:05 riastradh Exp $");
 
 #include <sys/types.h>
 
@@ -128,7 +128,7 @@ rk_v1crypto_attach(device_t parent, devi
 
 	sc->sc_dev = self;
 	sc->sc_bst = faa->faa_bst;
-	mutex_init(&sc->sc_lock, MUTEX_DEFAULT, IPL_VM);
+	mutex_init(&sc->sc_lock, MUTEX_DEFAULT, IPL_SOFTSERIAL);
 
 	/* Get and map device registers.  */
 	if (fdtbus_get_reg(phandle, 0, &addr, &size) != 0) {

Index: src/sys/arch/arm/sunxi/sun8i_crypto.c
diff -u src/sys/arch/arm/sunxi/sun8i_crypto.c:1.29 src/sys/arch/arm/sunxi/sun8i_crypto.c:1.30
--- src/sys/arch/arm/sunxi/sun8i_crypto.c:1.29	Fri Mar 18 23:36:57 2022
+++ src/sys/arch/arm/sunxi/sun8i_crypto.c	Sat Mar 19 11:37:05 2022
@@ -1,4 +1,4 @@
-/*	$NetBSD: sun8i_crypto.c,v 1.29 2022/03/18 23:36:57 riastradh Exp $	*/
+/*	$NetBSD: sun8i_crypto.c,v 1.30 2022/03/19 11:37:05 riastradh Exp $	*/
 
 /*-
  * Copyright (c) 2019 The NetBSD Foundation, Inc.
@@ -43,7 +43,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(1, "$NetBSD: sun8i_crypto.c,v 1.29 2022/03/18 23:36:57 riastradh Exp $");
+__KERNEL_RCSID(1, "$NetBSD: sun8i_crypto.c,v 1.30 2022/03/19 11:37:05 riastradh Exp $");
 
 #include <sys/types.h>
 #include <sys/param.h>
@@ -390,10 +390,10 @@ sun8i_crypto_attach(device_t parent, dev
 	sc->sc_dmat = faa->faa_dmat;
 	sc->sc_bst = faa->faa_bst;
 	sc->sc_taskpool = pool_cache_init(sizeof(struct sun8i_crypto_task),
-	    0, 0, 0, "sun8icry", NULL, IPL_VM,
+	    0, 0, 0, "sun8icry", NULL, IPL_SOFTSERIAL,
 	    &sun8i_crypto_task_ctor, &sun8i_crypto_task_dtor, sc);
 	sc->sc_cfg = of_compatible_lookup(phandle, compat_data)->data;
-	mutex_init(&sc->sc_lock, MUTEX_DEFAULT, IPL_NONE);
+	mutex_init(&sc->sc_lock, MUTEX_DEFAULT, IPL_SOFTSERIAL);
 	mutex_init(&sc->sc_intr_lock, MUTEX_DEFAULT, IPL_VM);
 	callout_init(&sc->sc_timeout, CALLOUT_MPSAFE);
 	callout_setfunc(&sc->sc_timeout, &sun8i_crypto_timeout, sc);

Index: src/sys/arch/arm/ti/ti_rng.c
diff -u src/sys/arch/arm/ti/ti_rng.c:1.5 src/sys/arch/arm/ti/ti_rng.c:1.6
--- src/sys/arch/arm/ti/ti_rng.c:1.5	Wed Jan 27 03:10:20 2021
+++ src/sys/arch/arm/ti/ti_rng.c	Sat Mar 19 11:37:05 2022
@@ -1,4 +1,4 @@
-/* $NetBSD: ti_rng.c,v 1.5 2021/01/27 03:10:20 thorpej Exp $ */
+/* $NetBSD: ti_rng.c,v 1.6 2022/03/19 11:37:05 riastradh Exp $ */
 
 /*-
  * Copyright (c) 2015 Jared D. McNeill <jmcne...@invisible.ca>
@@ -26,7 +26,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: ti_rng.c,v 1.5 2021/01/27 03:10:20 thorpej Exp $");
+__KERNEL_RCSID(0, "$NetBSD: ti_rng.c,v 1.6 2022/03/19 11:37:05 riastradh Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -101,7 +101,7 @@ ti_rng_attach(device_t parent, device_t 
 		return;
 	}
 
-	mutex_init(&sc->sc_lock, MUTEX_DEFAULT, IPL_VM);
+	mutex_init(&sc->sc_lock, MUTEX_DEFAULT, IPL_SOFTSERIAL);
 
 	if ((RD4(sc, TRNG_CONTROL_REG) & TRNG_CONTROL_ENABLE) == 0) {
 		WR4(sc, TRNG_CONFIG_REG,

Index: src/sys/arch/mips/cavium/dev/octeon_rnm.c
diff -u src/sys/arch/mips/cavium/dev/octeon_rnm.c:1.13 src/sys/arch/mips/cavium/dev/octeon_rnm.c:1.14
--- src/sys/arch/mips/cavium/dev/octeon_rnm.c:1.13	Tue Dec 28 13:22:43 2021
+++ src/sys/arch/mips/cavium/dev/octeon_rnm.c	Sat Mar 19 11:37:05 2022
@@ -1,4 +1,4 @@
-/*	$NetBSD: octeon_rnm.c,v 1.13 2021/12/28 13:22:43 riastradh Exp $	*/
+/*	$NetBSD: octeon_rnm.c,v 1.14 2022/03/19 11:37:05 riastradh Exp $	*/
 
 /*
  * Copyright (c) 2007 Internet Initiative Japan, Inc.
@@ -99,7 +99,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: octeon_rnm.c,v 1.13 2021/12/28 13:22:43 riastradh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: octeon_rnm.c,v 1.14 2022/03/19 11:37:05 riastradh Exp $");
 
 #include <sys/param.h>
 #include <sys/device.h>
@@ -185,7 +185,7 @@ octrnm_attach(device_t parent, device_t 
 	}
 
 	/* Create a mutex to serialize access to the FIFO.  */
-	mutex_init(&sc->sc_lock, MUTEX_DEFAULT, IPL_VM);
+	mutex_init(&sc->sc_lock, MUTEX_DEFAULT, IPL_SOFTSERIAL);
 
 	/*
 	 * Reset the core, enable the RNG engine without entropy, wait

Index: src/sys/arch/mips/ingenic/ingenic_rng.c
diff -u src/sys/arch/mips/ingenic/ingenic_rng.c:1.5 src/sys/arch/mips/ingenic/ingenic_rng.c:1.6
--- src/sys/arch/mips/ingenic/ingenic_rng.c:1.5	Thu Apr 30 03:40:53 2020
+++ src/sys/arch/mips/ingenic/ingenic_rng.c	Sat Mar 19 11:37:05 2022
@@ -1,4 +1,4 @@
-/*	$NetBSD: ingenic_rng.c,v 1.5 2020/04/30 03:40:53 riastradh Exp $ */
+/*	$NetBSD: ingenic_rng.c,v 1.6 2022/03/19 11:37:05 riastradh Exp $ */
 
 /*-
  * Copyright (c) 2015 Michael McConville
@@ -27,7 +27,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: ingenic_rng.c,v 1.5 2020/04/30 03:40:53 riastradh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: ingenic_rng.c,v 1.6 2022/03/19 11:37:05 riastradh Exp $");
 
 /*
  * adapted from Jared McNeill's amlogic_rng.c
@@ -94,7 +94,7 @@ ingenic_rng_attach(device_t parent, devi
 		return;
 	}
 
-	mutex_init(&sc->sc_lock, MUTEX_DEFAULT, IPL_VM);
+	mutex_init(&sc->sc_lock, MUTEX_DEFAULT, IPL_SOFTSERIAL);
 
 	aprint_naive(": Ingenic random number generator\n");
 	aprint_normal(": Ingenic random number generator\n");
@@ -110,7 +110,7 @@ ingenic_rng_get(size_t bytes_wanted, voi
 	struct ingenic_rng_softc * const sc = priv;
 	uint32_t data;
 
-	mutex_spin_enter(&sc->sc_lock);
+	mutex_enter(&sc->sc_lock);
 	while (bytes_wanted) {
 		data = bus_space_read_4(sc->sc_bst, sc->sc_bsh, 0);
 		delay(1);
@@ -119,5 +119,5 @@ ingenic_rng_get(size_t bytes_wanted, voi
 		bytes_wanted -= MIN(bytes_wanted, sizeof(data));
 	}
 	explicit_memset(&data, 0, sizeof(data));
-	mutex_spin_exit(&sc->sc_lock);
+	mutex_exit(&sc->sc_lock);
 }

Index: src/sys/dev/ic/amdccp.c
diff -u src/sys/dev/ic/amdccp.c:1.3 src/sys/dev/ic/amdccp.c:1.4
--- src/sys/dev/ic/amdccp.c:1.3	Mon Aug 23 23:55:43 2021
+++ src/sys/dev/ic/amdccp.c	Sat Mar 19 11:37:06 2022
@@ -1,4 +1,4 @@
-/* $NetBSD: amdccp.c,v 1.3 2021/08/23 23:55:43 mrg Exp $ */
+/* $NetBSD: amdccp.c,v 1.4 2022/03/19 11:37:06 riastradh Exp $ */
 
 /*
  * Copyright (c) 2018 Jonathan A. Kollasch
@@ -28,7 +28,7 @@
 
 #include <sys/cdefs.h>
 
-__KERNEL_RCSID(0, "$NetBSD: amdccp.c,v 1.3 2021/08/23 23:55:43 mrg Exp $");
+__KERNEL_RCSID(0, "$NetBSD: amdccp.c,v 1.4 2022/03/19 11:37:06 riastradh Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -44,7 +44,8 @@ static void amdccp_rnd_callback(size_t, 
 void
 amdccp_common_attach(struct amdccp_softc *sc)
 {
-	mutex_init(&sc->sc_rndlock, MUTEX_DEFAULT, IPL_VM);
+
+	mutex_init(&sc->sc_rndlock, MUTEX_DEFAULT, IPL_SOFTSERIAL);
 	rndsource_setcb(&sc->sc_rndsource, amdccp_rnd_callback, sc);
 	rnd_attach_source(&sc->sc_rndsource, device_xname(sc->sc_dev),
 	    RND_TYPE_RNG, RND_FLAG_COLLECT_VALUE|RND_FLAG_HASCB);

Index: src/sys/dev/ic/rng200.c
diff -u src/sys/dev/ic/rng200.c:1.2 src/sys/dev/ic/rng200.c:1.3
--- src/sys/dev/ic/rng200.c:1.2	Thu Apr 30 03:40:53 2020
+++ src/sys/dev/ic/rng200.c	Sat Mar 19 11:37:06 2022
@@ -1,4 +1,4 @@
-/*	$NetBSD: rng200.c,v 1.2 2020/04/30 03:40:53 riastradh Exp $	*/
+/*	$NetBSD: rng200.c,v 1.3 2022/03/19 11:37:06 riastradh Exp $	*/
 
 /*
  * Copyright (c) 2019 The NetBSD Foundation, Inc.
@@ -79,7 +79,7 @@ rng200_get(size_t bytes_wanted, void *pr
 	uint32_t w, data;
 	unsigned count;
 
-	mutex_spin_enter(&sc->sc_lock);
+	mutex_enter(&sc->sc_lock);
 	while (bytes_wanted) {
 
 		w = READ4(sc, RNG200_STATUS);
@@ -98,14 +98,14 @@ rng200_get(size_t bytes_wanted, void *pr
 		bytes_wanted -= MIN(bytes_wanted, sizeof(data));
 	}
 	explicit_memset(&data, 0, sizeof(data));
-	mutex_spin_exit(&sc->sc_lock);
+	mutex_exit(&sc->sc_lock);
 }
 
 void
 rng200_attach(struct rng200_softc *sc)
 {
 
-	mutex_init(&sc->sc_lock, MUTEX_DEFAULT, IPL_VM);
+	mutex_init(&sc->sc_lock, MUTEX_DEFAULT, IPL_SOFTSERIAL);
 
 	rndsource_setcb(&sc->sc_rndsource, rng200_get, sc);
 	rnd_attach_source(&sc->sc_rndsource, sc->sc_name,

Index: src/sys/dev/pci/amdpm.c
diff -u src/sys/dev/pci/amdpm.c:1.42 src/sys/dev/pci/amdpm.c:1.43
--- src/sys/dev/pci/amdpm.c:1.42	Sat May 30 10:27:29 2020
+++ src/sys/dev/pci/amdpm.c	Sat Mar 19 11:37:06 2022
@@ -1,4 +1,4 @@
-/*	$NetBSD: amdpm.c,v 1.42 2020/05/30 10:27:29 jdolecek Exp $	*/
+/*	$NetBSD: amdpm.c,v 1.43 2022/03/19 11:37:06 riastradh Exp $	*/
 
 /*-
  * Copyright (c) 2002 The NetBSD Foundation, Inc.
@@ -30,7 +30,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: amdpm.c,v 1.42 2020/05/30 10:27:29 jdolecek Exp $");
+__KERNEL_RCSID(0, "$NetBSD: amdpm.c,v 1.43 2022/03/19 11:37:06 riastradh Exp $");
 
 #include "opt_amdpm.h"
 
@@ -159,8 +159,7 @@ amdpm_attach(device_t parent, device_t s
 		  AMDPM_TMR, ((confreg & AMDPM_TMR32) ? ACPIPMT_32BIT : 0));
 	}
 
-	/* XXX this mutex is IPL_VM because it can be taken by rnd_getmore() */
-	mutex_init(&sc->sc_mutex, MUTEX_DEFAULT, IPL_VM);
+	mutex_init(&sc->sc_mutex, MUTEX_DEFAULT, IPL_SOFTSERIAL);
 
 	/* try to attach devices on the smbus */
 	if (PCI_PRODUCT(pa->pa_id) == PCI_PRODUCT_AMD_PBC8111_ACPI ||

Index: src/sys/dev/pci/viornd.c
diff -u src/sys/dev/pci/viornd.c:1.14 src/sys/dev/pci/viornd.c:1.15
--- src/sys/dev/pci/viornd.c:1.14	Wed Jan 20 19:46:48 2021
+++ src/sys/dev/pci/viornd.c	Sat Mar 19 11:37:06 2022
@@ -1,4 +1,4 @@
-/* 	$NetBSD: viornd.c,v 1.14 2021/01/20 19:46:48 reinoud Exp $ */
+/* 	$NetBSD: viornd.c,v 1.15 2022/03/19 11:37:06 riastradh Exp $ */
 /*	$OpenBSD: viornd.c,v 1.1 2014/01/21 21:14:58 sf Exp $	*/
 
 /*
@@ -139,9 +139,9 @@ viornd_attach(device_t parent, device_t 
 	sc->sc_dev = self;
 	sc->sc_virtio = vsc;
 
-	mutex_init(&sc->sc_mutex, MUTEX_DEFAULT, IPL_VM);
+	mutex_init(&sc->sc_mutex, MUTEX_DEFAULT, IPL_SOFTSERIAL);
 
-	error = bus_dmamem_alloc(virtio_dmat(vsc), 
+	error = bus_dmamem_alloc(virtio_dmat(vsc),
 				 VIRTIO_PAGE_SIZE, 0, 0, segs, 1, &nsegs,
 				 BUS_DMA_NOWAIT|BUS_DMA_ALLOCNOW);
 	if (error) {
@@ -247,6 +247,6 @@ viornd_vq_done(struct virtqueue *vq)
 out:
 	virtio_dequeue_commit(vsc, vq, slot);
 	mutex_exit(&sc->sc_mutex);
-	
+
 	return 1;
 }

Index: src/sys/dev/usb/ualea.c
diff -u src/sys/dev/usb/ualea.c:1.15 src/sys/dev/usb/ualea.c:1.16
--- src/sys/dev/usb/ualea.c:1.15	Thu Mar  3 06:06:52 2022
+++ src/sys/dev/usb/ualea.c	Sat Mar 19 11:37:06 2022
@@ -1,4 +1,4 @@
-/*	$NetBSD: ualea.c,v 1.15 2022/03/03 06:06:52 riastradh Exp $	*/
+/*	$NetBSD: ualea.c,v 1.16 2022/03/19 11:37:06 riastradh Exp $	*/
 
 /*-
  * Copyright (c) 2017 The NetBSD Foundation, Inc.
@@ -30,7 +30,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: ualea.c,v 1.15 2022/03/03 06:06:52 riastradh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: ualea.c,v 1.16 2022/03/19 11:37:06 riastradh Exp $");
 
 #include <sys/types.h>
 #include <sys/atomic.h>
@@ -104,7 +104,7 @@ ualea_attach(device_t parent, device_t s
 
 	/* Initialize the softc.  */
 	sc->sc_dev = self;
-	mutex_init(&sc->sc_lock, MUTEX_DEFAULT, IPL_SOFTUSB);
+	mutex_init(&sc->sc_lock, MUTEX_DEFAULT, IPL_SOFTSERIAL);
 
 	/* Get endpoint descriptor 0.  Make sure it's bulk-in.  */
 	ed = usbd_interface2endpoint_descriptor(uiaa->uiaa_iface, 0);

Reply via email to