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: Johannes Berg <johannes.berg@intel.com> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
This commit is contained in:
parent
31f920b63a
commit
30f27df9ba
@ -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,
|
|||||||
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,
|
|||||||
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,14 +444,8 @@ 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) {
|
|
||||||
struct iwl_rem_sta_resp *rem_sta_resp = (void *)pkt->data;
|
|
||||||
switch (rem_sta_resp->status) {
|
switch (rem_sta_resp->status) {
|
||||||
case REM_STA_SUCCESS_MSK:
|
case REM_STA_SUCCESS_MSK:
|
||||||
if (!temporary) {
|
if (!temporary) {
|
||||||
@ -472,7 +460,7 @@ static int iwl_send_remove_station(struct iwl_priv *priv,
|
|||||||
IWL_ERR(priv, "REPLY_REMOVE_STA failed\n");
|
IWL_ERR(priv, "REPLY_REMOVE_STA failed\n");
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
|
||||||
iwl_free_resp(&cmd);
|
iwl_free_resp(&cmd);
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
|
@ -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 {
|
|||||||
__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)
|
|||||||
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)
|
|||||||
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,
|
|||||||
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,
|
|||||||
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)
|
|||||||
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,
|
|||||||
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,
|
|||||||
/* 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));
|
||||||
|
Loading…
Reference in New Issue
Block a user