summaryrefslogtreecommitdiff
path: root/usr/src
diff options
context:
space:
mode:
authorMike Zeller <mike@mikezeller.net>2022-08-23 04:23:02 +0000
committerRobert Mustacchi <rm@fingolfin.org>2022-09-05 01:11:15 +0000
commit2c972cd3bb7a89de65d46d8519ba52ba05d90222 (patch)
tree4cdb5bb51c22425c0e6fa99f871317b09177ca20 /usr/src
parent459e74f09efc5a666d1084b7fa9d0c113a574edd (diff)
downloadillumos-joyent-2c972cd3bb7a89de65d46d8519ba52ba05d90222.tar.gz
14931 viona_ring_rx should be more conscious of drv purge
Reviewed by: Patrick Mooney <pmooney@pfmooney.com> Reviewed by: Andy Fiddaman <andy@omnios.org> Reviewed by: Toomas Soome <tsoome@me.com> Approved by: Robert Mustacchi <rm@fingolfin.org>
Diffstat (limited to 'usr/src')
-rw-r--r--usr/src/uts/intel/io/viona/viona_rx.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/usr/src/uts/intel/io/viona/viona_rx.c b/usr/src/uts/intel/io/viona/viona_rx.c
index e6f6f421d5..03e4698b29 100644
--- a/usr/src/uts/intel/io/viona/viona_rx.c
+++ b/usr/src/uts/intel/io/viona/viona_rx.c
@@ -36,6 +36,7 @@
* Copyright 2015 Pluribus Networks Inc.
* Copyright 2019 Joyent, Inc.
* Copyright 2022 Oxide Computer Company
+ * Copyright 2022 Michael Zeller
*/
#include <sys/types.h>
@@ -133,7 +134,13 @@ viona_worker_rx(viona_vring_t *ring, viona_link_t *link)
mac_rx_barrier(link->l_mch);
mutex_enter(&ring->vr_lock);
- viona_ring_enable_notify(ring);
+ /*
+ * If we bailed while renewing the ring lease, we cannot reset
+ * USED_NO_NOTIFY, since we lack a valid mapping to do so.
+ */
+ if (ring->vr_lease != NULL) {
+ viona_ring_enable_notify(ring);
+ }
}
static size_t