diff options
Diffstat (limited to 'drivers/net/wireless/iwlwifi/iwl-4965.c')
-rw-r--r-- | drivers/net/wireless/iwlwifi/iwl-4965.c | 23 |
1 files changed, 1 insertions, 22 deletions
diff --git a/drivers/net/wireless/iwlwifi/iwl-4965.c b/drivers/net/wireless/iwlwifi/iwl-4965.c index ed3f119b56cd..b913c6b921bc 100644 --- a/drivers/net/wireless/iwlwifi/iwl-4965.c +++ b/drivers/net/wireless/iwlwifi/iwl-4965.c @@ -3267,8 +3267,7 @@ int iwl4965_tx_cmd(struct iwl4965_priv *priv, struct iwl4965_cmd *out_cmd, struct ieee80211_hdr *hdr, u8 hdr_len, struct ieee80211_tx_control *ctrl, void *sta_in) { - struct iwl4965_tx_cmd cmd; - struct iwl4965_tx_cmd *tx = (struct iwl4965_tx_cmd *)&out_cmd->cmd.payload[0]; + struct iwl4965_tx_cmd *tx = &out_cmd->cmd.tx; dma_addr_t scratch_phys; u8 unicast = 0; u8 is_data = 1; @@ -3287,26 +3286,6 @@ int iwl4965_tx_cmd(struct iwl4965_priv *priv, struct iwl4965_cmd *out_cmd, if ((fc & IEEE80211_FCTL_FTYPE) != IEEE80211_FTYPE_DATA) is_data = 0; - memcpy(&cmd, &(out_cmd->cmd.tx), sizeof(struct iwl4965_tx_cmd)); - memset(tx, 0, sizeof(struct iwl4965_tx_cmd)); - memcpy(tx->hdr, hdr, hdr_len); - - tx->len = cmd.len; - tx->driver_txop = cmd.driver_txop; - tx->stop_time.life_time = cmd.stop_time.life_time; - tx->tx_flags = cmd.tx_flags; - tx->sta_id = cmd.sta_id; - tx->tid_tspec = cmd.tid_tspec; - tx->timeout.pm_frame_timeout = cmd.timeout.pm_frame_timeout; - tx->next_frame_len = cmd.next_frame_len; - - tx->sec_ctl = cmd.sec_ctl; - memcpy(&(tx->key[0]), &(cmd.key[0]), 16); - tx->tx_flags = cmd.tx_flags; - - tx->rts_retry_limit = cmd.rts_retry_limit; - tx->data_retry_limit = cmd.data_retry_limit; - scratch_phys = txcmd_phys + sizeof(struct iwl4965_cmd_header) + offsetof(struct iwl4965_tx_cmd, scratch); tx->dram_lsb_ptr = cpu_to_le32(scratch_phys); |