aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/iwlwifi/iwl-tx.c
diff options
context:
space:
mode:
authorWey-Yi Guy <wey-yi.w.guy@intel.com>2011-05-06 17:06:44 -0700
committerWey-Yi Guy <wey-yi.w.guy@intel.com>2011-05-13 12:02:49 -0700
commit3083d03c215a2d1642dd12ede7ad61e24601b583 (patch)
tree4f6fb3ac63c5ed33d6c2fa02205fc90999c1813f /drivers/net/wireless/iwlwifi/iwl-tx.c
parentiwlagn: clear STATUS_HCMD_ACTIVE bit if fail enqueue (diff)
downloadlinux-dev-3083d03c215a2d1642dd12ede7ad61e24601b583.tar.xz
linux-dev-3083d03c215a2d1642dd12ede7ad61e24601b583.zip
iwlagn: alwasy send RXON with disassociate falge before associate
Before send the RXON command with associated flag set, always do disassociate first to make sure uCode is in the correct state. Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Diffstat (limited to 'drivers/net/wireless/iwlwifi/iwl-tx.c')
-rw-r--r--drivers/net/wireless/iwlwifi/iwl-tx.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/net/wireless/iwlwifi/iwl-tx.c b/drivers/net/wireless/iwlwifi/iwl-tx.c
index 2f6b38cfcc13..54a935ff38fa 100644
--- a/drivers/net/wireless/iwlwifi/iwl-tx.c
+++ b/drivers/net/wireless/iwlwifi/iwl-tx.c
@@ -582,6 +582,11 @@ int iwl_enqueue_hcmd(struct iwl_priv *priv, struct iwl_host_cmd *cmd)
int trace_idx;
#endif
+ if (test_bit(STATUS_FW_ERROR, &priv->status)) {
+ IWL_WARN(priv, "fw recovery, no hcmd send\n");
+ return -EIO;
+ }
+
copy_size = sizeof(out_cmd->hdr);
cmd_size = sizeof(out_cmd->hdr);