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: <s3er...@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); } _______________________________________________ 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"