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@joyent.com
This commit is contained in:
Stephen Hurd 2018-03-02 18:48:07 +00:00
parent decacd9170
commit 226fb85d19
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=330289

View File

@ -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. */