aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/iwlwifi/iwl-dev.h
diff options
context:
space:
mode:
authorWey-Yi Guy <wey-yi.w.guy@intel.com>2009-11-06 17:52:54 -0500
committerJohn W. Linville <linville@tuxdriver.com>2009-11-11 15:23:44 -0500
commit0924e519a3a18ffbfaa043f4a2c369140c5a235c (patch)
tree85bab606d81ae1959fec12d246ba19f1097eeacc /drivers/net/wireless/iwlwifi/iwl-dev.h
parent681988653ed46a14032ac5fe2ee84eaae314b72e (diff)
iwlwifi: fix for channel switch
Different channel has different configuration, need to pass correct configuration to uCode when send "channel switch" command to uCode. Invalid configuration will cause sysassert in uCode and produce un-expected result. Even it is a very small windows, but we also need to consider and handle the case if commit_rxon occurred before the "channel switch announcement" notification received from uCode. Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/iwlwifi/iwl-dev.h')
-rw-r--r--drivers/net/wireless/iwlwifi/iwl-dev.h13
1 files changed, 13 insertions, 0 deletions
diff --git a/drivers/net/wireless/iwlwifi/iwl-dev.h b/drivers/net/wireless/iwlwifi/iwl-dev.h
index 997564584c71..9a19a3d1f704 100644
--- a/drivers/net/wireless/iwlwifi/iwl-dev.h
+++ b/drivers/net/wireless/iwlwifi/iwl-dev.h
@@ -994,6 +994,17 @@ struct traffic_stats {
994}; 994};
995#endif 995#endif
996 996
997/*
998 * iwl_switch_rxon: "channel switch" structure
999 *
1000 * @ switch_in_progress: channel switch in progress
1001 * @ channel: new channel
1002 */
1003struct iwl_switch_rxon {
1004 bool switch_in_progress;
1005 __le16 channel;
1006};
1007
997struct iwl_priv { 1008struct iwl_priv {
998 1009
999 /* ieee device used by generic ieee processing code */ 1010 /* ieee device used by generic ieee processing code */
@@ -1087,6 +1098,8 @@ struct iwl_priv {
1087 const struct iwl_rxon_cmd active_rxon; 1098 const struct iwl_rxon_cmd active_rxon;
1088 struct iwl_rxon_cmd staging_rxon; 1099 struct iwl_rxon_cmd staging_rxon;
1089 1100
1101 struct iwl_switch_rxon switch_rxon;
1102
1090 /* 1st responses from initialize and runtime uCode images. 1103 /* 1st responses from initialize and runtime uCode images.
1091 * 4965's initialize alive response contains some calibration data. */ 1104 * 4965's initialize alive response contains some calibration data. */
1092 struct iwl_init_alive_resp card_alive_init; 1105 struct iwl_init_alive_resp card_alive_init;