iwlwifi: use noibss flags only on radar detection channels.
authorArne Fitzenreiter <arne_f@ipfire.org>
Tue, 25 Mar 2014 11:59:37 +0000 (12:59 +0100)
committerArne Fitzenreiter <arne_f@ipfire.org>
Tue, 25 Mar 2014 11:59:37 +0000 (12:59 +0100)
lfs/linux
src/patches/linux-3.10.34-iwlwifi-noibss_only_on_radar_chan.patch [new file with mode: 0644]

index 9f82ab0..1f91c0b 100644 (file)
--- a/lfs/linux
+++ b/lfs/linux
@@ -136,6 +136,7 @@ endif
 
        # Wlan Patches
        cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/compat-drivers-3.8.3-ath_ignore_eeprom_regdomain.patch
+       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/linux-3.10.34-iwlwifi-noibss_only_on_radar_chan.patch
 
        # mISDN Patches
        cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/mISDN_hfc-s_add_id.patch
diff --git a/src/patches/linux-3.10.34-iwlwifi-noibss_only_on_radar_chan.patch b/src/patches/linux-3.10.34-iwlwifi-noibss_only_on_radar_chan.patch
new file mode 100644 (file)
index 0000000..cc76fe6
--- /dev/null
@@ -0,0 +1,23 @@
+diff -Naur linux-3.10.34.org/drivers/net/wireless/iwlwifi/iwl-eeprom-parse.c linux-3.10.34/drivers/net/wireless/iwlwifi/iwl-eeprom-parse.c
+--- linux-3.10.34.org/drivers/net/wireless/iwlwifi/iwl-eeprom-parse.c  2014-03-24 05:42:03.000000000 +0100
++++ linux-3.10.34/drivers/net/wireless/iwlwifi/iwl-eeprom-parse.c      2014-03-25 09:08:28.548634788 +0100
+@@ -613,14 +613,16 @@
+                       /* set no-HT40, will enable as appropriate later */
+                       channel->flags = IEEE80211_CHAN_NO_HT40;
++
++                      if (eeprom_ch->flags & EEPROM_CHANNEL_RADAR) {
++                              channel->flags |= IEEE80211_CHAN_RADAR;
++
+                       if (!(eeprom_ch->flags & EEPROM_CHANNEL_IBSS))
+                               channel->flags |= IEEE80211_CHAN_NO_IBSS;
+                       if (!(eeprom_ch->flags & EEPROM_CHANNEL_ACTIVE))
+                               channel->flags |= IEEE80211_CHAN_PASSIVE_SCAN;
+-
+-                      if (eeprom_ch->flags & EEPROM_CHANNEL_RADAR)
+-                              channel->flags |= IEEE80211_CHAN_RADAR;
++}
+                       /* Initialize regulatory-based run-time data */
+                       channel->max_power =