diff options
Diffstat (limited to 'package/madwifi/patches/411-autochannel_multi.patch')
-rw-r--r-- | package/madwifi/patches/411-autochannel_multi.patch | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/package/madwifi/patches/411-autochannel_multi.patch b/package/madwifi/patches/411-autochannel_multi.patch index b6093cfcd5..827ab5800a 100644 --- a/package/madwifi/patches/411-autochannel_multi.patch +++ b/package/madwifi/patches/411-autochannel_multi.patch @@ -124,7 +124,7 @@ void ieee80211_scan_attach(struct ieee80211com *ic) { -@@ -1155,7 +1272,7 @@ ieee80211_scan_dfs_action(struct ieee802 +@@ -1168,7 +1285,7 @@ ieee80211_scan_dfs_action(struct ieee802 IEEE80211_RADAR_CHANCHANGE_TBTT_COUNT; ic->ic_flags |= IEEE80211_F_CHANSWITCH; } else { @@ -133,7 +133,7 @@ IEEE80211_DPRINTF(vap, IEEE80211_MSG_DOTH, "%s: directly switching to channel " "%3d (%4d MHz)\n", __func__, -@@ -1166,6 +1283,9 @@ ieee80211_scan_dfs_action(struct ieee802 +@@ -1179,6 +1296,9 @@ ieee80211_scan_dfs_action(struct ieee802 * change the channel here. */ change_channel(ic, new_channel); ic->ic_bsschan = new_channel; @@ -307,7 +307,7 @@ } -@@ -605,6 +613,7 @@ ap_end(struct ieee80211_scan_state *ss, +@@ -575,6 +583,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,10 +315,10 @@ int res = 1; SCAN_AP_LOCK_IRQ(as); -@@ -613,8 +622,11 @@ ap_end(struct ieee80211_scan_state *ss, - ("wrong opmode %u", vap->iv_opmode)); +@@ -586,8 +595,11 @@ ap_end(struct ieee80211_scan_state *ss, - ic = vap->iv_ic; + /* record stats for the channel that was scanned last */ + ic->ic_set_channel(ic); + spin_lock_irqsave(&channel_lock, sflags); + ieee80211_scan_set_bss_channel(ic, NULL); bestchan = pick_channel(ss, vap, flags); @@ -327,7 +327,7 @@ if (ss->ss_last > 0) { /* no suitable channel, should not happen */ printk(KERN_ERR "%s: %s: no suitable channel! " -@@ -633,6 +645,7 @@ ap_end(struct ieee80211_scan_state *ss, +@@ -606,6 +618,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; } -@@ -645,6 +658,9 @@ ap_end(struct ieee80211_scan_state *ss, +@@ -618,6 +631,9 @@ ap_end(struct ieee80211_scan_state *ss, as->as_action = action; as->as_selbss = se; |