Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 11 Oct 2015 02:00:08 +0000 (UTC)
From:      Adrian Chadd <adrian@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r289129 - head/sys/dev/wpi
Message-ID:  <201510110200.t9B208nm030282@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: adrian
Date: Sun Oct 11 02:00:08 2015
New Revision: 289129
URL: https://svnweb.freebsd.org/changeset/base/289129

Log:
  wpi(4): do not count failures twice for ic_raw_xmit().
  
  Tested:
  
  * Tested with Intel 3945BG, STA mode
  
  Submitted by:	<s3erios@gmail.com>
  Differential Revision:	https://reviews.freebsd.org/D3768

Modified:
  head/sys/dev/wpi/if_wpi.c

Modified: head/sys/dev/wpi/if_wpi.c
==============================================================================
--- head/sys/dev/wpi/if_wpi.c	Sun Oct 11 01:58:50 2015	(r289128)
+++ head/sys/dev/wpi/if_wpi.c	Sun Oct 11 02:00:08 2015	(r289129)
@@ -3001,14 +3001,6 @@ wpi_tx_ring_is_full(struct wpi_softc *sc
 	return retval;
 }
 
-static __inline void
-wpi_handle_tx_failure(struct ieee80211_node *ni)
-{
-	/* NB: m is reclaimed on tx failure */
-	if_inc_counter(ni->ni_vap->iv_ifp, IFCOUNTER_OERRORS, 1);
-	ieee80211_free_node(ni);
-}
-
 static int
 wpi_raw_xmit(struct ieee80211_node *ni, struct mbuf *m,
     const struct ieee80211_bpf_params *params)
@@ -3046,8 +3038,8 @@ wpi_raw_xmit(struct ieee80211_node *ni, 
 unlock:	WPI_TX_UNLOCK(sc);
 
 	if (error != 0) {
-		wpi_handle_tx_failure(ni);
 		m_freem(m);
+		ieee80211_free_node(ni);
 		DPRINTF(sc, WPI_DEBUG_TRACE, TRACE_STR_END_ERR, __func__);
 
 		return error;
@@ -3085,7 +3077,8 @@ wpi_transmit(struct ieee80211com *ic, st
 	error = 0;
 	ni = (struct ieee80211_node *)m->m_pkthdr.rcvif;
 	if (wpi_tx_data(sc, m, ni) != 0) {
-		wpi_handle_tx_failure(ni);
+		if_inc_counter(ni->ni_vap->iv_ifp, IFCOUNTER_OERRORS, 1);
+		ieee80211_free_node(ni);
 		m_freem(m);
 	}
 



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201510110200.t9B208nm030282>