svn commit: r322961 - head/sys/dev/cxgbe

Navdeep Parhar np at FreeBSD.org
Mon Aug 28 03:25:43 UTC 2017


Author: np
Date: Mon Aug 28 03:25:41 2017
New Revision: 322961
URL: https://svnweb.freebsd.org/changeset/base/322961

Log:
  cxgbe(4): Fix some assertions during driver detach.  The netmap queues
  can't be initialized if the VI isn't.
  
  MFC after:	3 days

Modified:
  head/sys/dev/cxgbe/t4_sge.c

Modified: head/sys/dev/cxgbe/t4_sge.c
==============================================================================
--- head/sys/dev/cxgbe/t4_sge.c	Mon Aug 28 03:13:16 2017	(r322960)
+++ head/sys/dev/cxgbe/t4_sge.c	Mon Aug 28 03:25:41 2017	(r322961)
@@ -3306,7 +3306,10 @@ free_nm_rxq(struct vi_info *vi, struct sge_nm_rxq *nm_
 {
 	struct adapter *sc = vi->pi->adapter;
 
-	MPASS(nm_rxq->iq_cntxt_id == INVALID_NM_RXQ_CNTXT_ID);
+	if (vi->flags & VI_INIT_DONE)
+		MPASS(nm_rxq->iq_cntxt_id == INVALID_NM_RXQ_CNTXT_ID);
+	else
+		MPASS(nm_rxq->iq_cntxt_id == 0);
 
 	free_ring(sc, nm_rxq->iq_desc_tag, nm_rxq->iq_desc_map, nm_rxq->iq_ba,
 	    nm_rxq->iq_desc);
@@ -3366,7 +3369,10 @@ free_nm_txq(struct vi_info *vi, struct sge_nm_txq *nm_
 {
 	struct adapter *sc = vi->pi->adapter;
 
-	MPASS(nm_txq->cntxt_id == INVALID_NM_TXQ_CNTXT_ID);
+	if (vi->flags & VI_INIT_DONE)
+		MPASS(nm_txq->cntxt_id == INVALID_NM_TXQ_CNTXT_ID);
+	else
+		MPASS(nm_txq->cntxt_id == 0);
 
 	free_ring(sc, nm_txq->desc_tag, nm_txq->desc_map, nm_txq->ba,
 	    nm_txq->desc);


More information about the svn-src-head mailing list