summaryrefslogtreecommitdiff
path: root/sys/dev/wtap
diff options
context:
space:
mode:
authorGleb Smirnoff <glebius@FreeBSD.org>2019-01-09 01:11:19 +0000
committerGleb Smirnoff <glebius@FreeBSD.org>2019-01-09 01:11:19 +0000
commita68cc388790587b330a01380a0c1864fb9ff3f1e (patch)
treef5bb270ef868e474632d85d470c6f571f63fbe1a /sys/dev/wtap
parent086566c1c1b306c7eda0485e11c870bfaed6c721 (diff)
Notes
Diffstat (limited to 'sys/dev/wtap')
-rw-r--r--sys/dev/wtap/if_wtap.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/sys/dev/wtap/if_wtap.c b/sys/dev/wtap/if_wtap.c
index 198d21399cd7..7316263143c8 100644
--- a/sys/dev/wtap/if_wtap.c
+++ b/sys/dev/wtap/if_wtap.c
@@ -91,6 +91,7 @@ wtap_node_write(struct cdev *dev, struct uio *uio, int ioflag)
struct ifnet *ifp;
struct wtap_softc *sc;
uint8_t buf[1024];
+ struct epoch_tracker et;
int buf_len;
uprintf("write device %s \"echo.\"\n", devtoname(dev));
@@ -106,7 +107,7 @@ wtap_node_write(struct cdev *dev, struct uio *uio, int ioflag)
m_copyback(m, 0, buf_len, buf);
CURVNET_SET(TD_TO_VNET(curthread));
- IFNET_RLOCK_NOSLEEP();
+ NET_EPOCH_ENTER(et);
CK_STAILQ_FOREACH(ifp, &V_ifnet, if_link) {
printf("ifp->if_xname = %s\n", ifp->if_xname);
@@ -119,7 +120,7 @@ wtap_node_write(struct cdev *dev, struct uio *uio, int ioflag)
}
}
- IFNET_RUNLOCK_NOSLEEP();
+ NET_EPOCH_EXIT(et);
CURVNET_RESTORE();
return(err);