summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Volkov <pva@gentoo.org>2009-06-03 12:17:22 +0000
committerPeter Volkov <pva@gentoo.org>2009-06-03 12:17:22 +0000
commitcba44af6be7c201f7832efda0d46e6dbb53273c6 (patch)
tree441046e661e32926108ad2451f8c7aacf8774815 /net-wireless/madwifi-ng
parentFix password saving issues wrt #265031, thanks to Krzysztof Magusiak for repo... (diff)
downloadgentoo-2-cba44af6be7c201f7832efda0d46e6dbb53273c6.tar.gz
gentoo-2-cba44af6be7c201f7832efda0d46e6dbb53273c6.tar.bz2
gentoo-2-cba44af6be7c201f7832efda0d46e6dbb53273c6.zip
Added missed injection patch, bug #272372, thank Pierre-Yves AILLET for report.
(Portage version: 2.2_rc33/cvs/Linux i686)
Diffstat (limited to 'net-wireless/madwifi-ng')
-rw-r--r--net-wireless/madwifi-ng/ChangeLog7
-rw-r--r--net-wireless/madwifi-ng/files/madwifi-ng-injection-r3925.patch32
2 files changed, 38 insertions, 1 deletions
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 <pva@gentoo.org>
+ +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;
+