Author: manu
Date: Sat Nov 18 20:59:20 2017
New Revision: 325982
URL: https://svnweb.freebsd.org/changeset/base/325982

Log:
  if_awg: don't process transmitted packets on TX_BUF_UA_INT, only on TX_INT
  
  TX_BUF_UA_INT is set when there are no buffers to transmit and can
  happen before hw.awg.tx_interval segments have been transmitted.
  
  To reduce load, tx cleanup should be done in hw.awg.tx_interval intervals.
  
  Submitted by: Guy Yur <guy...@gmail.com>
  Differential Revision:        https://reviews.freebsd.org/D13034

Modified:
  head/sys/arm/allwinner/if_awg.c

Modified: head/sys/arm/allwinner/if_awg.c
==============================================================================
--- head/sys/arm/allwinner/if_awg.c     Sat Nov 18 20:55:37 2017        
(r325981)
+++ head/sys/arm/allwinner/if_awg.c     Sat Nov 18 20:59:20 2017        
(r325982)
@@ -963,8 +963,10 @@ awg_intr(void *arg)
        if (val & RX_INT)
                awg_rxintr(sc);
 
-       if (val & (TX_INT|TX_BUF_UA_INT)) {
+       if (val & TX_INT)
                awg_txintr(sc);
+
+       if (val & (TX_INT | TX_BUF_UA_INT)) {
                if (!if_sendq_empty(sc->ifp))
                        awg_start_locked(sc);
        }
_______________________________________________
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to