summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBenjamin Schindler <config@gentoo.org>2006-08-21 14:29:49 +0000
committerBenjamin Schindler <config@gentoo.org>2006-08-21 14:29:49 +0000
commit606ecf75a9e3f18e3a7e75034fe9e828621fac06 (patch)
treee6fb62a5a52b4454b148922c065927a666c26a05 /net-wireless
parentSecurity bump, bug #142774 (diff)
downloadgentoo-2-606ecf75a9e3f18e3a7e75034fe9e828621fac06.tar.gz
gentoo-2-606ecf75a9e3f18e3a7e75034fe9e828621fac06.tar.bz2
gentoo-2-606ecf75a9e3f18e3a7e75034fe9e828621fac06.zip
Add patch to fix ussie http://madwifi.org/ticket/776
(Portage version: 2.1-r2)
Diffstat (limited to 'net-wireless')
-rw-r--r--net-wireless/madwifi-ng/ChangeLog6
-rw-r--r--net-wireless/madwifi-ng/files/madwifi-association-fix.patch79
-rw-r--r--net-wireless/madwifi-ng/madwifi-ng-0.9.2.ebuild3
3 files changed, 86 insertions, 2 deletions
diff --git a/net-wireless/madwifi-ng/ChangeLog b/net-wireless/madwifi-ng/ChangeLog
index 26fda19a6515..7e6fad1ba73a 100644
--- a/net-wireless/madwifi-ng/ChangeLog
+++ b/net-wireless/madwifi-ng/ChangeLog
@@ -1,6 +1,10 @@
# ChangeLog for net-wireless/madwifi-ng
# Copyright 2000-2006 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/net-wireless/madwifi-ng/ChangeLog,v 1.10 2006/08/05 14:11:09 dertobi123 Exp $
+# $Header: /var/cvsroot/gentoo-x86/net-wireless/madwifi-ng/ChangeLog,v 1.11 2006/08/21 14:29:49 config Exp $
+
+ 21 Aug 2006; Benjamin Schindler <config@gentoo.org>
+ +files/madwifi-association-fix.patch, madwifi-ng-0.9.2.ebuild:
+ Add patch to fix issue http://madwifi.org/ticket/776
05 Aug 2006; Tobias Scherbaum <dertobi123@gentoo.org>
madwifi-ng-0.0.1531.20060427.ebuild:
diff --git a/net-wireless/madwifi-ng/files/madwifi-association-fix.patch b/net-wireless/madwifi-ng/files/madwifi-association-fix.patch
new file mode 100644
index 000000000000..41b6b4043e18
--- /dev/null
+++ b/net-wireless/madwifi-ng/files/madwifi-association-fix.patch
@@ -0,0 +1,79 @@
+Index: net80211/ieee80211_wireless.c
+===================================================================
+--- net80211/ieee80211_wireless.c (revision 1704)
++++ net80211/ieee80211_wireless.c (working copy)
+@@ -120,39 +120,6 @@
+ iq->level = iq->noise + iq->qual;
+ iq->updated = IW_QUAL_ALL_UPDATED;
+ }
+-
+-static void
+-preempt_scan(struct net_device *dev, int max_grace, int max_wait)
+-{
+- struct ieee80211vap *vap = dev->priv;
+- struct ieee80211com *ic = vap->iv_ic;
+- int total_delay = 0;
+- int cancelled = 0, ready = 0;
+- while (!ready && total_delay < max_grace + max_wait) {
+- if ((ic->ic_flags & IEEE80211_F_SCAN) == 0) {
+- ready = 1;
+- } else {
+- if (!cancelled && total_delay > max_grace) {
+- /*
+- Cancel any existing active scan, so that any new parameters
+- in this scan ioctl (or the defaults) can be honored, then
+- wait around a while to see if the scan cancels properly.
+- */
+- IEEE80211_DPRINTF(vap, IEEE80211_MSG_SCAN,
+- "%s: cancel pending scan request\n", __func__);
+- (void) ieee80211_cancel_scan(vap);
+- cancelled = 1;
+- }
+- mdelay (1);
+- total_delay += 1;
+- }
+- }
+- if (!ready) {
+- IEEE80211_DPRINTF(vap, IEEE80211_MSG_SCAN,
+- "%s: Timeout cancelling current scan.\n",
+- __func__);
+- }
+-}
+
+ static struct iw_statistics *
+ ieee80211_iw_getstats(struct net_device *dev)
+@@ -1515,34 +1482,6 @@
+ /* XXX always manual... */
+ IEEE80211_DPRINTF(vap, IEEE80211_MSG_SCAN,
+ "%s: active scan request\n", __func__);
+- preempt_scan(dev, 100, 100);
+-#if WIRELESS_EXT > 17
+- if (data && (data->flags & IW_SCAN_THIS_ESSID)) {
+- struct iw_scan_req req;
+- struct ieee80211_scan_ssid ssid;
+- int copyLength;
+- IEEE80211_DPRINTF(vap, IEEE80211_MSG_SCAN,
+- "%s: SCAN_THIS_ESSID requested\n", __func__);
+- if (data->length > sizeof req) {
+- copyLength = sizeof req;
+- } else {
+- copyLength = data->length;
+- }
+- memset(&req, 0, sizeof req);
+- if (copy_from_user(&req, data->pointer, copyLength))
+- return -EFAULT;
+- memcpy(&ssid.ssid, req.essid, sizeof ssid.ssid);
+- ssid.len = req.essid_len;
+- IEEE80211_DPRINTF(vap, IEEE80211_MSG_SCAN,
+- "%s: requesting scan of essid '%s'\n", __func__, ssid.ssid);
+- (void) ieee80211_start_scan(vap,
+- IEEE80211_SCAN_ACTIVE |
+- IEEE80211_SCAN_NOPICK |
+- IEEE80211_SCAN_ONCE, IEEE80211_SCAN_FOREVER,
+- 1, &ssid);
+- return 0;
+- }
+-#endif
+ (void) ieee80211_start_scan(vap, IEEE80211_SCAN_ACTIVE |
+ IEEE80211_SCAN_NOPICK | IEEE80211_SCAN_ONCE,
+ IEEE80211_SCAN_FOREVER,
diff --git a/net-wireless/madwifi-ng/madwifi-ng-0.9.2.ebuild b/net-wireless/madwifi-ng/madwifi-ng-0.9.2.ebuild
index b9ada4cd3742..3c5e8f5d8404 100644
--- a/net-wireless/madwifi-ng/madwifi-ng-0.9.2.ebuild
+++ b/net-wireless/madwifi-ng/madwifi-ng-0.9.2.ebuild
@@ -1,6 +1,6 @@
# Copyright 1999-2006 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/net-wireless/madwifi-ng/madwifi-ng-0.9.2.ebuild,v 1.1 2006/07/29 08:37:40 genstef Exp $
+# $Header: /var/cvsroot/gentoo-x86/net-wireless/madwifi-ng/madwifi-ng-0.9.2.ebuild,v 1.2 2006/08/21 14:29:49 config Exp $
inherit linux-mod
@@ -74,6 +74,7 @@ src_unpack() {
src_compile() {
epatch ${FILESDIR}/madwifi-ng-uudecode-gcda-fix.patch
+ epatch ${FILESDIR}/madwifi-association-fix.patch
# assists in debugging
emake KERNELPATH=${KV_OUT_DIR} info || die "emake info failed"