Commit 30f27df9 authored by Johannes Berg's avatar Johannes Berg Committed by Emmanuel Grumbach

iwlwifi: remove command header flags field

The 'flags' field really has been reserved in the firmware API for a
very long time, probably since 4965. As a consequence, the field is
always 0 and checking for a IWL_CMD_FAILED_MSK flag makes no sense.

Rename the field to 'reserved', get rid of IWL_CMD_FAILED_MSK and
all the code for it.
Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
Signed-off-by: default avatarEmmanuel Grumbach <emmanuel.grumbach@intel.com>
parent 31f920b6
...@@ -65,12 +65,6 @@ static void iwl_process_add_sta_resp(struct iwl_priv *priv, ...@@ -65,12 +65,6 @@ static void iwl_process_add_sta_resp(struct iwl_priv *priv,
{ {
struct iwl_add_sta_resp *add_sta_resp = (void *)pkt->data; struct iwl_add_sta_resp *add_sta_resp = (void *)pkt->data;
if (pkt->hdr.flags & IWL_CMD_FAILED_MSK) {
IWL_ERR(priv, "Bad return from REPLY_ADD_STA (0x%08X)\n",
pkt->hdr.flags);
return;
}
IWL_DEBUG_INFO(priv, "Processing response for adding station\n"); IWL_DEBUG_INFO(priv, "Processing response for adding station\n");
spin_lock_bh(&priv->sta_lock); spin_lock_bh(&priv->sta_lock);
...@@ -136,8 +130,7 @@ int iwl_send_add_sta(struct iwl_priv *priv, ...@@ -136,8 +130,7 @@ int iwl_send_add_sta(struct iwl_priv *priv,
add_sta_resp = (void *)pkt->data; add_sta_resp = (void *)pkt->data;
/* debug messages are printed in the handler */ /* debug messages are printed in the handler */
if (!(pkt->hdr.flags & IWL_CMD_FAILED_MSK) && if (add_sta_resp->status == ADD_STA_SUCCESS_MSK) {
add_sta_resp->status == ADD_STA_SUCCESS_MSK) {
spin_lock_bh(&priv->sta_lock); spin_lock_bh(&priv->sta_lock);
ret = iwl_sta_ucode_activate(priv, sta_id); ret = iwl_sta_ucode_activate(priv, sta_id);
spin_unlock_bh(&priv->sta_lock); spin_unlock_bh(&priv->sta_lock);
...@@ -431,6 +424,7 @@ static int iwl_send_remove_station(struct iwl_priv *priv, ...@@ -431,6 +424,7 @@ static int iwl_send_remove_station(struct iwl_priv *priv,
struct iwl_rx_packet *pkt; struct iwl_rx_packet *pkt;
int ret; int ret;
struct iwl_rem_sta_cmd rm_sta_cmd; struct iwl_rem_sta_cmd rm_sta_cmd;
struct iwl_rem_sta_resp *rem_sta_resp;
struct iwl_host_cmd cmd = { struct iwl_host_cmd cmd = {
.id = REPLY_REMOVE_STA, .id = REPLY_REMOVE_STA,
...@@ -450,29 +444,23 @@ static int iwl_send_remove_station(struct iwl_priv *priv, ...@@ -450,29 +444,23 @@ static int iwl_send_remove_station(struct iwl_priv *priv,
return ret; return ret;
pkt = cmd.resp_pkt; pkt = cmd.resp_pkt;
if (pkt->hdr.flags & IWL_CMD_FAILED_MSK) { rem_sta_resp = (void *)pkt->data;
IWL_ERR(priv, "Bad return from REPLY_REMOVE_STA (0x%08X)\n",
pkt->hdr.flags);
ret = -EIO;
}
if (!ret) { switch (rem_sta_resp->status) {
struct iwl_rem_sta_resp *rem_sta_resp = (void *)pkt->data; case REM_STA_SUCCESS_MSK:
switch (rem_sta_resp->status) { if (!temporary) {
case REM_STA_SUCCESS_MSK: spin_lock_bh(&priv->sta_lock);
if (!temporary) { iwl_sta_ucode_deactivate(priv, sta_id);
spin_lock_bh(&priv->sta_lock); spin_unlock_bh(&priv->sta_lock);
iwl_sta_ucode_deactivate(priv, sta_id);
spin_unlock_bh(&priv->sta_lock);
}
IWL_DEBUG_ASSOC(priv, "REPLY_REMOVE_STA PASSED\n");
break;
default:
ret = -EIO;
IWL_ERR(priv, "REPLY_REMOVE_STA failed\n");
break;
} }
IWL_DEBUG_ASSOC(priv, "REPLY_REMOVE_STA PASSED\n");
break;
default:
ret = -EIO;
IWL_ERR(priv, "REPLY_REMOVE_STA failed\n");
break;
} }
iwl_free_resp(&cmd); iwl_free_resp(&cmd);
return ret; return ret;
......
...@@ -130,7 +130,7 @@ ...@@ -130,7 +130,7 @@
*/ */
struct iwl_cmd_header { struct iwl_cmd_header {
u8 cmd; /* Command ID: REPLY_RXON, etc. */ u8 cmd; /* Command ID: REPLY_RXON, etc. */
u8 flags; /* 0:5 reserved, 6 abort, 7 internal */ u8 reserved;
/* /*
* The driver sets up the sequence number to values of its choosing. * The driver sets up the sequence number to values of its choosing.
* uCode does not use this value, but passes it back to the driver * uCode does not use this value, but passes it back to the driver
...@@ -154,10 +154,6 @@ struct iwl_cmd_header { ...@@ -154,10 +154,6 @@ struct iwl_cmd_header {
__le16 sequence; __le16 sequence;
} __packed; } __packed;
/* iwl_cmd_header flags value */
#define IWL_CMD_FAILED_MSK 0x40
#define FH_RSCSR_FRAME_SIZE_MSK 0x00003FFF /* bits 0-13 */ #define FH_RSCSR_FRAME_SIZE_MSK 0x00003FFF /* bits 0-13 */
#define FH_RSCSR_FRAME_INVALID 0x55550000 #define FH_RSCSR_FRAME_INVALID 0x55550000
#define FH_RSCSR_FRAME_ALIGN 0x40 #define FH_RSCSR_FRAME_ALIGN 0x40
......
...@@ -444,12 +444,6 @@ static void iwl_mvm_get_shared_mem_conf(struct iwl_mvm *mvm) ...@@ -444,12 +444,6 @@ static void iwl_mvm_get_shared_mem_conf(struct iwl_mvm *mvm)
return; return;
pkt = cmd.resp_pkt; pkt = cmd.resp_pkt;
if (pkt->hdr.flags & IWL_CMD_FAILED_MSK) {
IWL_ERR(mvm, "Bad return from SHARED_MEM_CFG (0x%08X)\n",
pkt->hdr.flags);
goto exit;
}
mem_cfg = (void *)pkt->data; mem_cfg = (void *)pkt->data;
mvm->shared_mem_cfg.shared_mem_addr = mvm->shared_mem_cfg.shared_mem_addr =
...@@ -473,7 +467,6 @@ static void iwl_mvm_get_shared_mem_conf(struct iwl_mvm *mvm) ...@@ -473,7 +467,6 @@ static void iwl_mvm_get_shared_mem_conf(struct iwl_mvm *mvm)
le32_to_cpu(mem_cfg->page_buff_size); le32_to_cpu(mem_cfg->page_buff_size);
IWL_DEBUG_INFO(mvm, "SHARED MEM CFG: got memory offsets/sizes\n"); IWL_DEBUG_INFO(mvm, "SHARED MEM CFG: got memory offsets/sizes\n");
exit:
iwl_free_resp(&cmd); iwl_free_resp(&cmd);
} }
......
...@@ -139,12 +139,6 @@ static int iwl_nvm_read_chunk(struct iwl_mvm *mvm, u16 section, ...@@ -139,12 +139,6 @@ static int iwl_nvm_read_chunk(struct iwl_mvm *mvm, u16 section,
return ret; return ret;
pkt = cmd.resp_pkt; pkt = cmd.resp_pkt;
if (pkt->hdr.flags & IWL_CMD_FAILED_MSK) {
IWL_ERR(mvm, "Bad return from NVM_ACCES_COMMAND (0x%08X)\n",
pkt->hdr.flags);
ret = -EIO;
goto exit;
}
/* Extract NVM response */ /* Extract NVM response */
nvm_resp = (void *)pkt->data; nvm_resp = (void *)pkt->data;
...@@ -652,12 +646,6 @@ iwl_mvm_update_mcc(struct iwl_mvm *mvm, const char *alpha2, ...@@ -652,12 +646,6 @@ iwl_mvm_update_mcc(struct iwl_mvm *mvm, const char *alpha2,
return ERR_PTR(ret); return ERR_PTR(ret);
pkt = cmd.resp_pkt; pkt = cmd.resp_pkt;
if (pkt->hdr.flags & IWL_CMD_FAILED_MSK) {
IWL_ERR(mvm, "Bad return from MCC_UPDATE_COMMAND (0x%08X)\n",
pkt->hdr.flags);
ret = -EIO;
goto exit;
}
/* Extract MCC response */ /* Extract MCC response */
mcc_resp = (void *)pkt->data; mcc_resp = (void *)pkt->data;
......
...@@ -169,18 +169,11 @@ static void iwl_mvm_tdls_config(struct iwl_mvm *mvm, struct ieee80211_vif *vif) ...@@ -169,18 +169,11 @@ static void iwl_mvm_tdls_config(struct iwl_mvm *mvm, struct ieee80211_vif *vif)
return; return;
pkt = cmd.resp_pkt; pkt = cmd.resp_pkt;
if (pkt->hdr.flags & IWL_CMD_FAILED_MSK) {
IWL_ERR(mvm, "Bad return from TDLS_CONFIG_COMMAND (0x%08X)\n",
pkt->hdr.flags);
goto exit;
}
if (WARN_ON_ONCE(iwl_rx_packet_payload_len(pkt) != sizeof(*resp))) WARN_ON_ONCE(iwl_rx_packet_payload_len(pkt) != sizeof(*resp));
goto exit;
/* we don't really care about the response at this point */ /* we don't really care about the response at this point */
exit:
iwl_free_resp(&cmd); iwl_free_resp(&cmd);
} }
......
...@@ -166,11 +166,6 @@ int iwl_mvm_send_cmd_status(struct iwl_mvm *mvm, struct iwl_host_cmd *cmd, ...@@ -166,11 +166,6 @@ int iwl_mvm_send_cmd_status(struct iwl_mvm *mvm, struct iwl_host_cmd *cmd,
goto out_free_resp; goto out_free_resp;
} }
if (pkt->hdr.flags & IWL_CMD_FAILED_MSK) {
ret = -EIO;
goto out_free_resp;
}
resp_len = iwl_rx_packet_payload_len(pkt); resp_len = iwl_rx_packet_payload_len(pkt);
if (WARN_ON_ONCE(resp_len != sizeof(*resp))) { if (WARN_ON_ONCE(resp_len != sizeof(*resp))) {
ret = -EIO; ret = -EIO;
......
...@@ -1420,7 +1420,7 @@ static int iwl_pcie_enqueue_hcmd(struct iwl_trans *trans, ...@@ -1420,7 +1420,7 @@ static int iwl_pcie_enqueue_hcmd(struct iwl_trans *trans,
/* set up the header */ /* set up the header */
out_cmd->hdr.cmd = cmd->id; out_cmd->hdr.cmd = cmd->id;
out_cmd->hdr.flags = 0; out_cmd->hdr.reserved = 0;
out_cmd->hdr.sequence = out_cmd->hdr.sequence =
cpu_to_le16(QUEUE_TO_SEQ(trans_pcie->cmd_queue) | cpu_to_le16(QUEUE_TO_SEQ(trans_pcie->cmd_queue) |
INDEX_TO_SEQ(q->write_ptr)); INDEX_TO_SEQ(q->write_ptr));
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment