[BACK]Return to if_wm.c CVS log [TXT][DIR] Up to [cvs.NetBSD.org] / src / sys / dev / pci

Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.

Diff for /src/sys/dev/pci/if_wm.c between version 1.469 and 1.470

version 1.469, 2017/01/26 10:14:52 version 1.470, 2017/01/27 05:04:47
Line 7018  wm_nq_transmit(struct ifnet *ifp, struct
Line 7018  wm_nq_transmit(struct ifnet *ifp, struct
         if (m->m_flags & M_MCAST)          if (m->m_flags & M_MCAST)
                 ifp->if_omcasts++;                  ifp->if_omcasts++;
   
           /*
            * The situations which this mutex_tryenter() fails at running time
            * are below two patterns.
            *     (1) contention with interrupt handler(wm_txrxintr_msix())
            *     (2) contention with deferred if_start softint(wm_deferred_start())
            * In the case of (1), the last packet enqueued to txq->txq_interq is
            * dequeued by wm_deferred_start(). So, it does not get stuck.
            * In the case of (2), the last packet enqueued to txq->txq_interq is also
            * dequeued by wm_deferred_start(). So, it does not get stuck, either.
            */
         if (mutex_tryenter(txq->txq_lock)) {          if (mutex_tryenter(txq->txq_lock)) {
                 if (!txq->txq_stopping)                  if (!txq->txq_stopping)
                         wm_nq_transmit_locked(ifp, txq);                          wm_nq_transmit_locked(ifp, txq);

Legend:
Removed from v.1.469  
changed lines
  Added in v.1.470

CVSweb <webmaster@jp.NetBSD.org>