diff --git a/sys/net/lagg/ieee8023ad_lacp.c b/sys/net/lagg/ieee8023ad_lacp.c --- a/sys/net/lagg/ieee8023ad_lacp.c +++ b/sys/net/lagg/ieee8023ad_lacp.c @@ -1930,12 +1930,14 @@ ntohs(mdu->mdu_info.mi_rq_port), *mdu->mdu_info.mi_rq_system, ntohl(mdu->mdu_info.mi_rq_xid))); + LACP_LOCK(lsc); + /* Verify that it is the last marker we sent out */ if (memcmp(&mdu->mdu_info, &lp->lp_marker, - sizeof(struct lacp_markerinfo))) + sizeof(struct lacp_markerinfo))) { + LACP_UNLOCK(lsc); goto bad; - - LACP_LOCK(lsc); + } lp->lp_flags &= ~LACP_PORT_MARK; if (lsc->lsc_suppress_distributing) {