aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/iwmc3200wifi/iwm.h
diff options
context:
space:
mode:
authorSamuel Ortiz <sameo@linux.intel.com>2009-09-01 09:14:05 -0400
committerJohn W. Linville <linville@tuxdriver.com>2009-09-01 12:48:28 -0400
commitd210176eaaed0c7883caba52665bcfb5d420c660 (patch)
tree1ac8c392c188e330be24496d42f9e5d9846ef36b /drivers/net/wireless/iwmc3200wifi/iwm.h
parentd04bd6283cf7433d56f3d8f648f1d6963fda4fdc (diff)
iwmc3200wifi: Handle UMAC stalls and UMAC assert properly
When UMAC stalls or asserts, we want to reset the device. But when we're associated, the current reset worker will end up calling cfg80211_connect_result() with the cfg80211 sme layer knowing that we're reassociating. That ends up with some ugly warnings. With this patch we're telling the upper layer that we've roamed if reassociation succeeds, and that we're disconnected if it fails. Signed-off-by: Samuel Ortiz <sameo@linux.intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/iwmc3200wifi/iwm.h')
-rw-r--r--drivers/net/wireless/iwmc3200wifi/iwm.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/net/wireless/iwmc3200wifi/iwm.h b/drivers/net/wireless/iwmc3200wifi/iwm.h
index 74964ee93bb7..f5c2d6f3fd43 100644
--- a/drivers/net/wireless/iwmc3200wifi/iwm.h
+++ b/drivers/net/wireless/iwmc3200wifi/iwm.h
@@ -178,6 +178,7 @@ struct iwm_key {
178#define IWM_STATUS_SCAN_ABORTING 2 178#define IWM_STATUS_SCAN_ABORTING 2
179#define IWM_STATUS_SME_CONNECTING 3 179#define IWM_STATUS_SME_CONNECTING 3
180#define IWM_STATUS_ASSOCIATED 4 180#define IWM_STATUS_ASSOCIATED 4
181#define IWM_STATUS_RESETTING 5
181 182
182struct iwm_tx_queue { 183struct iwm_tx_queue {
183 int id; 184 int id;
@@ -317,6 +318,7 @@ int iwm_mode_to_nl80211_iftype(int mode);
317int iwm_priv_init(struct iwm_priv *iwm); 318int iwm_priv_init(struct iwm_priv *iwm);
318void iwm_priv_deinit(struct iwm_priv *iwm); 319void iwm_priv_deinit(struct iwm_priv *iwm);
319void iwm_reset(struct iwm_priv *iwm); 320void iwm_reset(struct iwm_priv *iwm);
321void iwm_resetting(struct iwm_priv *iwm);
320void iwm_tx_credit_init_pools(struct iwm_priv *iwm, 322void iwm_tx_credit_init_pools(struct iwm_priv *iwm,
321 struct iwm_umac_notif_alive *alive); 323 struct iwm_umac_notif_alive *alive);
322int iwm_tx_credit_alloc(struct iwm_priv *iwm, int id, int nb); 324int iwm_tx_credit_alloc(struct iwm_priv *iwm, int id, int nb);