aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGuy Cohen <guy.cohen@intel.com>2008-04-21 18:41:56 -0400
committerJohn W. Linville <linville@tuxdriver.com>2008-05-07 15:02:16 -0400
commitfe7c4040c3d8b7de521e9a48ae583580f8e31127 (patch)
tree465e81b91c05544300b697d71889cbcf9ad6e333
parent9e5b806ce3f3943964d3f95415a21223c1983933 (diff)
iwlwifi: remove support for Narrow Channel (10Mhz)
Setting Narrow Channel bit in the scan command caused the device not to send probe request on all the channels Signed-off-by: Guy Cohen <guy.cohen@intel.com> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Tomas Winkler <tomas.winkler@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
-rw-r--r--drivers/net/wireless/iwlwifi/iwl-3945-hw.h2
-rw-r--r--drivers/net/wireless/iwlwifi/iwl-3945.h5
-rw-r--r--drivers/net/wireless/iwlwifi/iwl-4965.h5
-rw-r--r--drivers/net/wireless/iwlwifi/iwl-eeprom.c6
-rw-r--r--drivers/net/wireless/iwlwifi/iwl-eeprom.h2
-rw-r--r--drivers/net/wireless/iwlwifi/iwl3945-base.c6
-rw-r--r--drivers/net/wireless/iwlwifi/iwl4965-base.c3
7 files changed, 5 insertions, 24 deletions
diff --git a/drivers/net/wireless/iwlwifi/iwl-3945-hw.h b/drivers/net/wireless/iwlwifi/iwl-3945-hw.h
index ad612a8719f4..8821c26992fa 100644
--- a/drivers/net/wireless/iwlwifi/iwl-3945-hw.h
+++ b/drivers/net/wireless/iwlwifi/iwl-3945-hw.h
@@ -126,7 +126,7 @@ enum {
126 EEPROM_CHANNEL_ACTIVE = (1 << 3), /* active scanning allowed */ 126 EEPROM_CHANNEL_ACTIVE = (1 << 3), /* active scanning allowed */
127 EEPROM_CHANNEL_RADAR = (1 << 4), /* radar detection required */ 127 EEPROM_CHANNEL_RADAR = (1 << 4), /* radar detection required */
128 EEPROM_CHANNEL_WIDE = (1 << 5), /* 20 MHz channel okay */ 128 EEPROM_CHANNEL_WIDE = (1 << 5), /* 20 MHz channel okay */
129 EEPROM_CHANNEL_NARROW = (1 << 6), /* 10 MHz channel (not used) */ 129 /* Bit 6 Reserved (was Narrow Channel) */
130 EEPROM_CHANNEL_DFS = (1 << 7), /* dynamic freq selection candidate */ 130 EEPROM_CHANNEL_DFS = (1 << 7), /* dynamic freq selection candidate */
131}; 131};
132 132
diff --git a/drivers/net/wireless/iwlwifi/iwl-3945.h b/drivers/net/wireless/iwlwifi/iwl-3945.h
index c7695a215a39..fb96c62ad0ff 100644
--- a/drivers/net/wireless/iwlwifi/iwl-3945.h
+++ b/drivers/net/wireless/iwlwifi/iwl-3945.h
@@ -924,11 +924,6 @@ static inline int is_channel_valid(const struct iwl3945_channel_info *ch_info)
924 return (ch_info->flags & EEPROM_CHANNEL_VALID) ? 1 : 0; 924 return (ch_info->flags & EEPROM_CHANNEL_VALID) ? 1 : 0;
925} 925}
926 926
927static inline int is_channel_narrow(const struct iwl3945_channel_info *ch_info)
928{
929 return (ch_info->flags & EEPROM_CHANNEL_NARROW) ? 1 : 0;
930}
931
932static inline int is_channel_radar(const struct iwl3945_channel_info *ch_info) 927static inline int is_channel_radar(const struct iwl3945_channel_info *ch_info)
933{ 928{
934 return (ch_info->flags & EEPROM_CHANNEL_RADAR) ? 1 : 0; 929 return (ch_info->flags & EEPROM_CHANNEL_RADAR) ? 1 : 0;
diff --git a/drivers/net/wireless/iwlwifi/iwl-4965.h b/drivers/net/wireless/iwlwifi/iwl-4965.h
index 31f5447b797e..07209f85cb5f 100644
--- a/drivers/net/wireless/iwlwifi/iwl-4965.h
+++ b/drivers/net/wireless/iwlwifi/iwl-4965.h
@@ -1227,11 +1227,6 @@ static inline int is_channel_valid(const struct iwl_channel_info *ch_info)
1227 return (ch_info->flags & EEPROM_CHANNEL_VALID) ? 1 : 0; 1227 return (ch_info->flags & EEPROM_CHANNEL_VALID) ? 1 : 0;
1228} 1228}
1229 1229
1230static inline int is_channel_narrow(const struct iwl_channel_info *ch_info)
1231{
1232 return (ch_info->flags & EEPROM_CHANNEL_NARROW) ? 1 : 0;
1233}
1234
1235static inline int is_channel_radar(const struct iwl_channel_info *ch_info) 1230static inline int is_channel_radar(const struct iwl_channel_info *ch_info)
1236{ 1231{
1237 return (ch_info->flags & EEPROM_CHANNEL_RADAR) ? 1 : 0; 1232 return (ch_info->flags & EEPROM_CHANNEL_RADAR) ? 1 : 0;
diff --git a/drivers/net/wireless/iwlwifi/iwl-eeprom.c b/drivers/net/wireless/iwlwifi/iwl-eeprom.c
index a436f877882b..efd48ca27a8e 100644
--- a/drivers/net/wireless/iwlwifi/iwl-eeprom.c
+++ b/drivers/net/wireless/iwlwifi/iwl-eeprom.c
@@ -377,7 +377,7 @@ static int iwl4965_set_fat_chan_info(struct iwl_priv *priv,
377 if (!is_channel_valid(ch_info)) 377 if (!is_channel_valid(ch_info))
378 return -1; 378 return -1;
379 379
380 IWL_DEBUG_INFO("FAT Ch. %d [%sGHz] %s%s%s%s%s%s(0x%02x" 380 IWL_DEBUG_INFO("FAT Ch. %d [%sGHz] %s%s%s%s%s(0x%02x"
381 " %ddBm): Ad-Hoc %ssupported\n", 381 " %ddBm): Ad-Hoc %ssupported\n",
382 ch_info->channel, 382 ch_info->channel,
383 is_channel_a_band(ch_info) ? 383 is_channel_a_band(ch_info) ?
@@ -386,7 +386,6 @@ static int iwl4965_set_fat_chan_info(struct iwl_priv *priv,
386 CHECK_AND_PRINT(ACTIVE), 386 CHECK_AND_PRINT(ACTIVE),
387 CHECK_AND_PRINT(RADAR), 387 CHECK_AND_PRINT(RADAR),
388 CHECK_AND_PRINT(WIDE), 388 CHECK_AND_PRINT(WIDE),
389 CHECK_AND_PRINT(NARROW),
390 CHECK_AND_PRINT(DFS), 389 CHECK_AND_PRINT(DFS),
391 eeprom_ch->flags, 390 eeprom_ch->flags,
392 eeprom_ch->max_power_avg, 391 eeprom_ch->max_power_avg,
@@ -490,7 +489,7 @@ int iwl_init_channel_map(struct iwl_priv *priv)
490 ch_info->scan_power = eeprom_ch_info[ch].max_power_avg; 489 ch_info->scan_power = eeprom_ch_info[ch].max_power_avg;
491 ch_info->min_power = 0; 490 ch_info->min_power = 0;
492 491
493 IWL_DEBUG_INFO("Ch. %d [%sGHz] %s%s%s%s%s%s%s(0x%02x" 492 IWL_DEBUG_INFO("Ch. %d [%sGHz] %s%s%s%s%s%s(0x%02x"
494 " %ddBm): Ad-Hoc %ssupported\n", 493 " %ddBm): Ad-Hoc %ssupported\n",
495 ch_info->channel, 494 ch_info->channel,
496 is_channel_a_band(ch_info) ? 495 is_channel_a_band(ch_info) ?
@@ -500,7 +499,6 @@ int iwl_init_channel_map(struct iwl_priv *priv)
500 CHECK_AND_PRINT_I(ACTIVE), 499 CHECK_AND_PRINT_I(ACTIVE),
501 CHECK_AND_PRINT_I(RADAR), 500 CHECK_AND_PRINT_I(RADAR),
502 CHECK_AND_PRINT_I(WIDE), 501 CHECK_AND_PRINT_I(WIDE),
503 CHECK_AND_PRINT_I(NARROW),
504 CHECK_AND_PRINT_I(DFS), 502 CHECK_AND_PRINT_I(DFS),
505 eeprom_ch_info[ch].flags, 503 eeprom_ch_info[ch].flags,
506 eeprom_ch_info[ch].max_power_avg, 504 eeprom_ch_info[ch].max_power_avg,
diff --git a/drivers/net/wireless/iwlwifi/iwl-eeprom.h b/drivers/net/wireless/iwlwifi/iwl-eeprom.h
index 26a73e918c56..d5768146d02f 100644
--- a/drivers/net/wireless/iwlwifi/iwl-eeprom.h
+++ b/drivers/net/wireless/iwlwifi/iwl-eeprom.h
@@ -106,7 +106,7 @@ enum {
106 EEPROM_CHANNEL_ACTIVE = (1 << 3), /* active scanning allowed */ 106 EEPROM_CHANNEL_ACTIVE = (1 << 3), /* active scanning allowed */
107 EEPROM_CHANNEL_RADAR = (1 << 4), /* radar detection required */ 107 EEPROM_CHANNEL_RADAR = (1 << 4), /* radar detection required */
108 EEPROM_CHANNEL_WIDE = (1 << 5), /* 20 MHz channel okay */ 108 EEPROM_CHANNEL_WIDE = (1 << 5), /* 20 MHz channel okay */
109 EEPROM_CHANNEL_NARROW = (1 << 6), /* 10 MHz channel (not used) */ 109 /* Bit 6 Reserved (was Narrow Channel) */
110 EEPROM_CHANNEL_DFS = (1 << 7), /* dynamic freq selection candidate */ 110 EEPROM_CHANNEL_DFS = (1 << 7), /* dynamic freq selection candidate */
111}; 111};
112 112
diff --git a/drivers/net/wireless/iwlwifi/iwl3945-base.c b/drivers/net/wireless/iwlwifi/iwl3945-base.c
index 7bdffa9cfea6..67fd267c99ca 100644
--- a/drivers/net/wireless/iwlwifi/iwl3945-base.c
+++ b/drivers/net/wireless/iwlwifi/iwl3945-base.c
@@ -4841,7 +4841,7 @@ static int iwl3945_init_channel_map(struct iwl3945_priv *priv)
4841 ch_info->scan_power = eeprom_ch_info[ch].max_power_avg; 4841 ch_info->scan_power = eeprom_ch_info[ch].max_power_avg;
4842 ch_info->min_power = 0; 4842 ch_info->min_power = 0;
4843 4843
4844 IWL_DEBUG_INFO("Ch. %d [%sGHz] %s%s%s%s%s%s%s(0x%02x" 4844 IWL_DEBUG_INFO("Ch. %d [%sGHz] %s%s%s%s%s%s(0x%02x"
4845 " %ddBm): Ad-Hoc %ssupported\n", 4845 " %ddBm): Ad-Hoc %ssupported\n",
4846 ch_info->channel, 4846 ch_info->channel,
4847 is_channel_a_band(ch_info) ? 4847 is_channel_a_band(ch_info) ?
@@ -4851,7 +4851,6 @@ static int iwl3945_init_channel_map(struct iwl3945_priv *priv)
4851 CHECK_AND_PRINT(ACTIVE), 4851 CHECK_AND_PRINT(ACTIVE),
4852 CHECK_AND_PRINT(RADAR), 4852 CHECK_AND_PRINT(RADAR),
4853 CHECK_AND_PRINT(WIDE), 4853 CHECK_AND_PRINT(WIDE),
4854 CHECK_AND_PRINT(NARROW),
4855 CHECK_AND_PRINT(DFS), 4854 CHECK_AND_PRINT(DFS),
4856 eeprom_ch_info[ch].flags, 4855 eeprom_ch_info[ch].flags,
4857 eeprom_ch_info[ch].max_power_avg, 4856 eeprom_ch_info[ch].max_power_avg,
@@ -4987,9 +4986,6 @@ static int iwl3945_get_channels_for_scan(struct iwl3945_priv *priv,
4987 if (scan_ch->type & 1) 4986 if (scan_ch->type & 1)
4988 scan_ch->type |= (direct_mask << 1); 4987 scan_ch->type |= (direct_mask << 1);
4989 4988
4990 if (is_channel_narrow(ch_info))
4991 scan_ch->type |= (1 << 7);
4992
4993 scan_ch->active_dwell = cpu_to_le16(active_dwell); 4989 scan_ch->active_dwell = cpu_to_le16(active_dwell);
4994 scan_ch->passive_dwell = cpu_to_le16(passive_dwell); 4990 scan_ch->passive_dwell = cpu_to_le16(passive_dwell);
4995 4991
diff --git a/drivers/net/wireless/iwlwifi/iwl4965-base.c b/drivers/net/wireless/iwlwifi/iwl4965-base.c
index 11339efa273b..6309f08c3a13 100644
--- a/drivers/net/wireless/iwlwifi/iwl4965-base.c
+++ b/drivers/net/wireless/iwlwifi/iwl4965-base.c
@@ -4392,9 +4392,6 @@ static int iwl4965_get_channels_for_scan(struct iwl_priv *priv,
4392 if (scan_ch->type & 1) 4392 if (scan_ch->type & 1)
4393 scan_ch->type |= (direct_mask << 1); 4393 scan_ch->type |= (direct_mask << 1);
4394 4394
4395 if (is_channel_narrow(ch_info))
4396 scan_ch->type |= (1 << 7);
4397
4398 scan_ch->active_dwell = cpu_to_le16(active_dwell); 4395 scan_ch->active_dwell = cpu_to_le16(active_dwell);
4399 scan_ch->passive_dwell = cpu_to_le16(passive_dwell); 4396 scan_ch->passive_dwell = cpu_to_le16(passive_dwell);
4400 4397