summaryrefslogtreecommitdiffstats
path: root/drivers/net
diff options
context:
space:
mode:
authorWey-Yi Guy <wey-yi.w.guy@intel.com>2011-07-08 08:46:27 -0700
committerJohn W. Linville <linville@tuxdriver.com>2011-07-11 15:02:09 -0400
commiteedb6e357a4b1bd3d7e4544e77fbd71718492547 (patch)
tree7ccacd314958b6b6a0140e4080b5bd71d9e98c4a /drivers/net
parente98a1939a2d75354631487328339fe8d2117fce9 (diff)
downloadlinux-eedb6e357a4b1bd3d7e4544e77fbd71718492547.tar.gz
linux-eedb6e357a4b1bd3d7e4544e77fbd71718492547.tar.bz2
linux-eedb6e357a4b1bd3d7e4544e77fbd71718492547.zip
iwlagn: block regular host commands if driver don't own uCode
The only host command allow to send to uCode is the one initiated from testmode if testmode is the owner of uCode Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net')
-rw-r--r--drivers/net/wireless/iwlwifi/iwl-tx.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/net/wireless/iwlwifi/iwl-tx.c b/drivers/net/wireless/iwlwifi/iwl-tx.c
index b62d03235b8c..9b07e07f1689 100644
--- a/drivers/net/wireless/iwlwifi/iwl-tx.c
+++ b/drivers/net/wireless/iwlwifi/iwl-tx.c
@@ -328,6 +328,12 @@ int iwl_enqueue_hcmd(struct iwl_priv *priv, struct iwl_host_cmd *cmd)
return -EIO;
}
+ if ((priv->ucode_owner == IWL_OWNERSHIP_TM) &&
+ !(cmd->flags & CMD_ON_DEMAND)) {
+ IWL_DEBUG_HC(priv, "tm own the uCode, no regular hcmd send\n");
+ return -EIO;
+ }
+
copy_size = sizeof(out_cmd->hdr);
cmd_size = sizeof(out_cmd->hdr);