Date:2010-07-31 08:21:13 (13 years 7 months ago)
Author:acoul
Commit:bb5ab3b0e0e49f16f9a9d480ebfb6c9658c3d1f7
Message:package/mac80211: sync commit r22419

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@22422 3c298f89-4303-0410-b956-a3cf2f4a3e73
Files: package/mac80211/patches/524-mac80211_offchannel_fix.patch (1 diff)

Change Details

package/mac80211/patches/524-mac80211_offchannel_fix.patch
1+++ b/net/mac80211/main.c
2@@ -99,11 +99,13 @@ int ieee80211_hw_config(struct ieee80211_local *local, u32 changed)
3     int ret = 0;
4     int power;
5     enum nl80211_channel_type channel_type;
6+ u32 offchannel_flag;
7
8     might_sleep();
9
10     scan_chan = local->scan_channel;
11
12+ offchannel_flag = local->hw.conf.flags & IEEE80211_CONF_OFFCHANNEL;
13     if (scan_chan) {
14         chan = scan_chan;
15         channel_type = NL80211_CHAN_NO_HT;
16@@ -117,8 +119,9 @@ int ieee80211_hw_config(struct ieee80211_local *local, u32 changed)
17         channel_type = local->_oper_channel_type;
18         local->hw.conf.flags &= ~IEEE80211_CONF_OFFCHANNEL;
19     }
20+ offchannel_flag ^= local->hw.conf.flags & IEEE80211_CONF_OFFCHANNEL;
21
22- if (chan != local->hw.conf.channel ||
23+ if (offchannel_flag || chan != local->hw.conf.channel ||
24         channel_type != local->hw.conf.channel_type) {
25         local->hw.conf.channel = chan;
26         local->hw.conf.channel_type = channel_type;

Archive Download the corresponding diff file



interactive