svn commit: r284739 - head/sys/dev/bxe
David C Somayajulu
davidcs at FreeBSD.org
Tue Jun 23 20:09:53 UTC 2015
Author: davidcs
Date: Tue Jun 23 20:09:52 2015
New Revision: 284739
URL: https://svnweb.freebsd.org/changeset/base/284739
Log:
tx_mtx should be grabbed before calling buf_ring_dequeue_sc()
Submitted by:Attilio.Rao at isilon.com
MFC after:5 days
Modified:
head/sys/dev/bxe/bxe.c
Modified: head/sys/dev/bxe/bxe.c
==============================================================================
--- head/sys/dev/bxe/bxe.c Tue Jun 23 20:01:12 2015 (r284738)
+++ head/sys/dev/bxe/bxe.c Tue Jun 23 20:09:52 2015 (r284739)
@@ -6547,10 +6547,14 @@ bxe_free_fp_buffers(struct bxe_softc *sc
#if __FreeBSD_version >= 800000
if (fp->tx_br != NULL) {
- struct mbuf *m;
/* just in case bxe_mq_flush() wasn't called */
- while ((m = buf_ring_dequeue_sc(fp->tx_br)) != NULL) {
- m_freem(m);
+ if (mtx_initialized(&fp->tx_mtx)) {
+ struct mbuf *m;
+
+ BXE_FP_TX_LOCK(fp);
+ while ((m = buf_ring_dequeue_sc(fp->tx_br)) != NULL)
+ m_freem(m);
+ BXE_FP_TX_UNLOCK(fp);
}
buf_ring_free(fp->tx_br, M_DEVBUF);
fp->tx_br = NULL;
More information about the svn-src-head
mailing list