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);
_______________________________________________
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