svn commit: r321477 - head/sys/net
Sean Bruno
sbruno at FreeBSD.org
Tue Jul 25 14:41:52 UTC 2017
Author: sbruno
Date: Tue Jul 25 14:41:50 2017
New Revision: 321477
URL: https://svnweb.freebsd.org/changeset/base/321477
Log:
Don't hold the RM lock during lagg_proto_addport() to avoid an LOR.
Submitted by: Kevin Bowling <kevin.bowling at kev009.com>
Reviewed by: mav
MFC after: 1 week
Sponsored by: Limelight Networks
Differential Revision: https://reviews.freebsd.org/D11711
Modified:
head/sys/net/if_lagg.c
Modified: head/sys/net/if_lagg.c
==============================================================================
--- head/sys/net/if_lagg.c Tue Jul 25 14:38:30 2017 (r321476)
+++ head/sys/net/if_lagg.c Tue Jul 25 14:41:50 2017 (r321477)
@@ -738,14 +738,15 @@ lagg_port_create(struct lagg_softc *sc, struct ifnet *
lagg_setmulti(lp);
+ LAGG_WUNLOCK(sc);
+
if ((error = lagg_proto_addport(sc, lp)) != 0) {
/* Remove the port, without calling pr_delport. */
+ LAGG_WLOCK(sc);
lagg_port_destroy(lp, 0);
LAGG_UNLOCK_ASSERT(sc);
return (error);
}
-
- LAGG_WUNLOCK(sc);
/* Update lagg capabilities */
lagg_capabilities(sc);
More information about the svn-src-all
mailing list