diff --git a/sys/net/bpf.c b/sys/net/bpf.c index bfe8a91188e2..118d266a20f2 100644 --- a/sys/net/bpf.c +++ b/sys/net/bpf.c @@ -1558,10 +1558,10 @@ bpf_setdlt(d, dlt) } mtx_unlock(&bpf_mtx); if (bp != NULL) { - BPFD_LOCK(d); opromisc = d->bd_promisc; bpf_detachd(d); bpf_attachd(d, bp); + BPFD_LOCK(d); reset_d(d); BPFD_UNLOCK(d); if (opromisc) {