svn commit: r330289 - head/sys/net

Stephen Hurd shurd at FreeBSD.org
Fri Mar 2 18:48:07 UTC 2018


Author: shurd
Date: Fri Mar  2 18:48:07 2018
New Revision: 330289
URL: https://svnweb.freebsd.org/changeset/base/330289

Log:
  iflib: stop timer callout when stopping
  
  iflib_timer has been seen running after the interface had been removed.
  This change prevents that.
  
  Submitted by:	matt.macy at joyent.com

Modified:
  head/sys/net/iflib.c

Modified: head/sys/net/iflib.c
==============================================================================
--- head/sys/net/iflib.c	Fri Mar  2 18:12:25 2018	(r330288)
+++ head/sys/net/iflib.c	Fri Mar  2 18:48:07 2018	(r330289)
@@ -2267,6 +2267,10 @@ iflib_stop(if_ctx_t ctx)
 	for (i = 0; i < scctx->isc_ntxqsets; i++, txq++) {
 		/* make sure all transmitters have completed before proceeding XXX */
 
+		CALLOUT_LOCK(txq);
+		callout_stop(&txq->ift_timer);
+		CALLOUT_UNLOCK(txq);
+
 		/* clean any enqueued buffers */
 		iflib_ifmp_purge(txq);
 		/* Free any existing tx buffers. */


More information about the svn-src-head mailing list