From 3912992ad4d671496361a90666e834951cd47642 Mon Sep 17 00:00:00 2001 From: nbd Date: Thu, 7 May 2009 11:32:43 +0000 Subject: madwifi: improve mode selection, do not scan channels which do not fit the desired mode git-svn-id: svn://svn.openwrt.org/openwrt/trunk@15663 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- package/madwifi/patches/411-autochannel_multi.patch | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) (limited to 'package/madwifi/patches/411-autochannel_multi.patch') diff --git a/package/madwifi/patches/411-autochannel_multi.patch b/package/madwifi/patches/411-autochannel_multi.patch index ab48e70b2..b6093cfcd 100644 --- a/package/madwifi/patches/411-autochannel_multi.patch +++ b/package/madwifi/patches/411-autochannel_multi.patch @@ -278,7 +278,7 @@ /* update Supported Channels information element */ --- a/net80211/ieee80211_scan_ap.c +++ b/net80211/ieee80211_scan_ap.c -@@ -213,9 +213,15 @@ ap_start(struct ieee80211_scan_state *ss +@@ -208,9 +208,15 @@ ap_start(struct ieee80211_scan_state *ss struct ieee80211com *ic = NULL; int i; unsigned int mode = 0; @@ -292,9 +292,9 @@ + spin_unlock_irqrestore(&channel_lock, sflags); + /* Determine mode flags to match, or leave zero for auto mode */ - as->as_vap_desired_mode = vap->iv_des_mode; - as->as_required_mode = 0; -@@ -429,8 +435,10 @@ pc_cmp_idletime(struct ieee80211_channel + ss->ss_last = 0; + ieee80211_scan_add_channels(ic, ss, vap->iv_des_mode); +@@ -423,8 +429,10 @@ pc_cmp_idletime(struct ieee80211_channel if (!a->ic_idletime || !b->ic_idletime) return 0; @@ -307,7 +307,7 @@ } -@@ -616,6 +624,7 @@ ap_end(struct ieee80211_scan_state *ss, +@@ -605,6 +613,7 @@ ap_end(struct ieee80211_scan_state *ss, struct ap_state *as = ss->ss_priv; struct ieee80211_channel *bestchan = NULL; struct ieee80211com *ic = NULL; @@ -315,7 +315,7 @@ int res = 1; SCAN_AP_LOCK_IRQ(as); -@@ -624,8 +633,11 @@ ap_end(struct ieee80211_scan_state *ss, +@@ -613,8 +622,11 @@ ap_end(struct ieee80211_scan_state *ss, ("wrong opmode %u", vap->iv_opmode)); ic = vap->iv_ic; @@ -327,7 +327,7 @@ if (ss->ss_last > 0) { /* no suitable channel, should not happen */ printk(KERN_ERR "%s: %s: no suitable channel! " -@@ -644,6 +656,7 @@ ap_end(struct ieee80211_scan_state *ss, +@@ -633,6 +645,7 @@ ap_end(struct ieee80211_scan_state *ss, bestchan->ic_freq, bestchan->ic_flags & ~IEEE80211_CHAN_TURBO)) == NULL) { /* should never happen ?? */ @@ -335,7 +335,7 @@ SCAN_AP_UNLOCK_IRQ_EARLY(as); return 0; } -@@ -656,6 +669,9 @@ ap_end(struct ieee80211_scan_state *ss, +@@ -645,6 +658,9 @@ ap_end(struct ieee80211_scan_state *ss, as->as_action = action; as->as_selbss = se; -- cgit v1.2.3