summaryrefslogtreecommitdiff
path: root/sys/dev/pci
diff options
context:
space:
mode:
authormlelstv <mlelstv@NetBSD.org>2023-03-25 11:04:34 +0000
committermlelstv <mlelstv@NetBSD.org>2023-03-25 11:04:34 +0000
commitbccfb1d61ebdee2b3dbf777301d8ae459669a987 (patch)
tree71596aa8fee031018d18fc03e3459873069113db /sys/dev/pci
parent3b24ded3e5eb3d219347bd767ea02146d27eb7b5 (diff)
Mark as MPSAFE.
Diffstat (limited to 'sys/dev/pci')
-rw-r--r--sys/dev/pci/viomb.c6
-rw-r--r--sys/dev/pci/viornd.c4
-rw-r--r--sys/dev/pci/vioscsi.c8
3 files changed, 10 insertions, 8 deletions
diff --git a/sys/dev/pci/viomb.c b/sys/dev/pci/viomb.c
index a6cf1da0dda..e8a72663d86 100644
--- a/sys/dev/pci/viomb.c
+++ b/sys/dev/pci/viomb.c
@@ -1,4 +1,4 @@
-/* $NetBSD: viomb.c,v 1.16 2023/03/25 11:00:35 mlelstv Exp $ */
+/* $NetBSD: viomb.c,v 1.17 2023/03/25 11:04:34 mlelstv Exp $ */
/*
* Copyright (c) 2010 Minoura Makoto.
@@ -26,7 +26,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: viomb.c,v 1.16 2023/03/25 11:00:35 mlelstv Exp $");
+__KERNEL_RCSID(0, "$NetBSD: viomb.c,v 1.17 2023/03/25 11:04:34 mlelstv Exp $");
#include <sys/param.h>
#include <sys/systm.h>
@@ -192,7 +192,7 @@ viomb_attach(device_t parent, device_t self, void *aux)
}
if (virtio_child_attach_finish(vsc, sc->sc_vq, __arraycount(sc->sc_vq),
- viomb_config_change, 0) != 0)
+ viomb_config_change, VIRTIO_F_INTR_MPSAFE) != 0)
goto err_out;
if (kthread_create(PRI_IDLE, KTHREAD_MPSAFE, NULL,
diff --git a/sys/dev/pci/viornd.c b/sys/dev/pci/viornd.c
index 46d6c2f9d02..dd33fd4e933 100644
--- a/sys/dev/pci/viornd.c
+++ b/sys/dev/pci/viornd.c
@@ -1,4 +1,4 @@
-/* $NetBSD: viornd.c,v 1.20 2023/03/23 03:55:11 yamaguchi Exp $ */
+/* $NetBSD: viornd.c,v 1.21 2023/03/25 11:04:34 mlelstv Exp $ */
/* $OpenBSD: viornd.c,v 1.1 2014/01/21 21:14:58 sf Exp $ */
/*
@@ -191,7 +191,7 @@ viornd_attach(device_t parent, device_t self, void *aux)
sc->sc_vq.vq_done = viornd_vq_done;
error = virtio_child_attach_finish(vsc, &sc->sc_vq, 1,
- NULL, 0);
+ NULL, VIRTIO_F_INTR_MPSAFE);
if (error) {
virtio_free_vq(vsc, &sc->sc_vq);
goto vio_failed;
diff --git a/sys/dev/pci/vioscsi.c b/sys/dev/pci/vioscsi.c
index 3b560430d48..b456b7ac0fa 100644
--- a/sys/dev/pci/vioscsi.c
+++ b/sys/dev/pci/vioscsi.c
@@ -1,4 +1,4 @@
-/* $NetBSD: vioscsi.c,v 1.35 2023/03/25 09:03:47 mlelstv Exp $ */
+/* $NetBSD: vioscsi.c,v 1.36 2023/03/25 11:04:34 mlelstv Exp $ */
/* $OpenBSD: vioscsi.c,v 1.3 2015/03/14 03:38:49 jsg Exp $ */
/*
@@ -18,7 +18,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: vioscsi.c,v 1.35 2023/03/25 09:03:47 mlelstv Exp $");
+__KERNEL_RCSID(0, "$NetBSD: vioscsi.c,v 1.36 2023/03/25 11:04:34 mlelstv Exp $");
#include <sys/param.h>
#include <sys/systm.h>
@@ -173,7 +173,8 @@ vioscsi_attach(device_t parent, device_t self, void *aux)
cmd_per_lun, qsize, seg_max, max_target, max_lun);
if (virtio_child_attach_finish(vsc, sc->sc_vqs,
- __arraycount(sc->sc_vqs), NULL, VIRTIO_F_INTR_MSIX) != 0)
+ __arraycount(sc->sc_vqs), NULL,
+ VIRTIO_F_INTR_MSIX | VIRTIO_F_INTR_MPSAFE) != 0)
goto err;
/*
@@ -186,6 +187,7 @@ vioscsi_attach(device_t parent, device_t self, void *aux)
adapt->adapt_max_periph = adapt->adapt_openings;
adapt->adapt_request = vioscsi_scsipi_request;
adapt->adapt_minphys = minphys;
+ adapt->adapt_flags = SCSIPI_ADAPT_MPSAFE;
/*
* Fill in the scsipi_channel.