diff options
author | Guy Cohen <guy.cohen@intel.com> | 2008-04-21 18:41:56 -0400 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2008-05-07 15:02:16 -0400 |
commit | fe7c4040c3d8b7de521e9a48ae583580f8e31127 (patch) | |
tree | 465e81b91c05544300b697d71889cbcf9ad6e333 | |
parent | 9e5b806ce3f3943964d3f95415a21223c1983933 (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.h | 2 | ||||
-rw-r--r-- | drivers/net/wireless/iwlwifi/iwl-3945.h | 5 | ||||
-rw-r--r-- | drivers/net/wireless/iwlwifi/iwl-4965.h | 5 | ||||
-rw-r--r-- | drivers/net/wireless/iwlwifi/iwl-eeprom.c | 6 | ||||
-rw-r--r-- | drivers/net/wireless/iwlwifi/iwl-eeprom.h | 2 | ||||
-rw-r--r-- | drivers/net/wireless/iwlwifi/iwl3945-base.c | 6 | ||||
-rw-r--r-- | drivers/net/wireless/iwlwifi/iwl4965-base.c | 3 |
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 | ||
927 | static 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 | |||
932 | static inline int is_channel_radar(const struct iwl3945_channel_info *ch_info) | 927 | static 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 | ||
1230 | static 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 | |||
1235 | static inline int is_channel_radar(const struct iwl_channel_info *ch_info) | 1230 | static 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 | ||