diff options
author | Mike Zeller <mike@mikezeller.net> | 2022-08-23 04:23:02 +0000 |
---|---|---|
committer | Robert Mustacchi <rm@fingolfin.org> | 2022-09-05 01:11:15 +0000 |
commit | 2c972cd3bb7a89de65d46d8519ba52ba05d90222 (patch) | |
tree | 4cdb5bb51c22425c0e6fa99f871317b09177ca20 /usr/src | |
parent | 459e74f09efc5a666d1084b7fa9d0c113a574edd (diff) | |
download | illumos-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.c | 9 |
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 |