From cba44af6be7c201f7832efda0d46e6dbb53273c6 Mon Sep 17 00:00:00 2001 From: Peter Volkov Date: Wed, 3 Jun 2009 12:17:22 +0000 Subject: Added missed injection patch, bug #272372, thank Pierre-Yves AILLET for report. (Portage version: 2.2_rc33/cvs/Linux i686) --- net-wireless/madwifi-ng/ChangeLog | 7 ++++- .../files/madwifi-ng-injection-r3925.patch | 32 ++++++++++++++++++++++ 2 files changed, 38 insertions(+), 1 deletion(-) create mode 100644 net-wireless/madwifi-ng/files/madwifi-ng-injection-r3925.patch (limited to 'net-wireless/madwifi-ng') diff --git a/net-wireless/madwifi-ng/ChangeLog b/net-wireless/madwifi-ng/ChangeLog index 555459ad4d56..e5081e94e2dc 100644 --- a/net-wireless/madwifi-ng/ChangeLog +++ b/net-wireless/madwifi-ng/ChangeLog @@ -1,6 +1,11 @@ # ChangeLog for net-wireless/madwifi-ng # Copyright 1999-2009 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/net-wireless/madwifi-ng/ChangeLog,v 1.67 2009/06/01 16:46:54 pva Exp $ +# $Header: /var/cvsroot/gentoo-x86/net-wireless/madwifi-ng/ChangeLog,v 1.68 2009/06/03 12:17:22 pva Exp $ + + 03 Jun 2009; Peter Volkov + +files/madwifi-ng-injection-r3925.patch: + Added missed injection patch, bug #272372, thank Pierre-Yves AILLET for + report. *madwifi-ng-0.9.4.4030.20090529 (01 Jun 2009) diff --git a/net-wireless/madwifi-ng/files/madwifi-ng-injection-r3925.patch b/net-wireless/madwifi-ng/files/madwifi-ng-injection-r3925.patch new file mode 100644 index 000000000000..1999184ec5ae --- /dev/null +++ b/net-wireless/madwifi-ng/files/madwifi-ng-injection-r3925.patch @@ -0,0 +1,32 @@ +=== modified file 'ath/if_ath.c' +--- ath/if_ath.c 2009-06-03 07:46:17 +0000 ++++ ath/if_ath.c 2009-06-03 07:53:24 +0000 +@@ -2359,6 +2359,7 @@ + ath_tx_startraw(struct net_device *dev, struct ath_buf *bf, struct sk_buff *skb) + { + struct ath_softc *sc = netdev_priv(dev); ++ struct ieee80211com *ic = &sc->sc_ic; + struct ath_hal *ah = sc->sc_ah; + struct ieee80211_phy_params *ph = (struct ieee80211_phy_params *) (skb->cb + sizeof(struct ieee80211_cb)); + const HAL_RATE_TABLE *rt; +@@ -2375,7 +2376,8 @@ + struct ieee80211_frame *wh; + + wh = (struct ieee80211_frame *) skb->data; +- try0 = ph->try0; ++ //try0 = ph->try0; ++ try0 = (ic->ic_opmode == IEEE80211_M_MONITOR) ? 1 : ph->try0; + rt = sc->sc_currates; + txrate = dot11_to_ratecode(sc, rt, ph->rate0); + power = ph->power > 60 ? 60 : ph->power; +@@ -2404,7 +2406,8 @@ + KASSERT(rt != NULL, ("no rate table, mode %u", sc->sc_curmode)); + + +- if (IEEE80211_IS_MULTICAST(wh->i_addr1)) { ++ if (IEEE80211_IS_MULTICAST(wh->i_addr1) || ((ic->ic_opmode == ++ IEEE80211_M_MONITOR) && (skb->data[1]&3) != 0x01) ) { + flags |= HAL_TXDESC_NOACK; /* no ack on broad/multicast */ + sc->sc_stats.ast_tx_noack++; + try0 = 1; + -- cgit v1.2.3-65-gdbad