Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src/sys/dev/pci vio9p: Properly negotiate MOUNT_TAG feature.



details:   https://anonhg.NetBSD.org/src/rev/d1eb0bca4808
branches:  trunk
changeset: 365206:d1eb0bca4808
user:      uwe <uwe%NetBSD.org@localhost>
date:      Wed Apr 13 15:08:52 2022 +0000

description:
vio9p: Properly negotiate MOUNT_TAG feature.

I _think_ that this is what is intended here.  The code used to
actually test for the presence of any random device independent
feature bits (the test would happen to succeed b/c of INDIRECT_DESC).

diffstat:

 sys/dev/pci/vio9p.c |  9 +++++----
 1 files changed, 5 insertions(+), 4 deletions(-)

diffs (33 lines):

diff -r 01faea38dfe9 -r d1eb0bca4808 sys/dev/pci/vio9p.c
--- a/sys/dev/pci/vio9p.c       Wed Apr 13 13:50:37 2022 +0000
+++ b/sys/dev/pci/vio9p.c       Wed Apr 13 15:08:52 2022 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: vio9p.c,v 1.6 2022/04/13 13:50:37 uwe Exp $    */
+/*     $NetBSD: vio9p.c,v 1.7 2022/04/13 15:08:52 uwe Exp $    */
 
 /*
  * Copyright (c) 2019 Internet Initiative Japan, Inc.
@@ -26,7 +26,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: vio9p.c,v 1.6 2022/04/13 13:50:37 uwe Exp $");
+__KERNEL_RCSID(0, "$NetBSD: vio9p.c,v 1.7 2022/04/13 15:08:52 uwe Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -497,11 +497,12 @@
 
        virtio_child_attach_start(vsc, self, IPL_VM, NULL,
            NULL, virtio_vq_intr,
-           VIRTIO_F_INTR_MPSAFE | VIRTIO_F_INTR_SOFTINT, 0,
+           VIRTIO_F_INTR_MPSAFE | VIRTIO_F_INTR_SOFTINT,
+           VIO9P_F_MOUNT_TAG,
            VIO9P_FLAG_BITS);
 
        features = virtio_features(vsc);
-       if (features == 0)
+       if ((features & VIO9P_F_MOUNT_TAG) == 0)
                goto err_none;
 
        error = virtio_alloc_vq(vsc, &sc->sc_vq[0], 0, VIO9P_MAX_REQLEN,



Home | Main Index | Thread Index | Old Index