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.m...@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. */
_______________________________________________
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to