wifi: iwlwifi: mei: fix tx DHCP packet for devices with new Tx API

Devices with new Tx API have the IV introduced by the HW and it is not
present in the skb at all. Hence we don't need to tell
iwl_mvm_mei_tx_copy_to_csme to jump over 8 bytes to get to the ethernet
header.

Fixes: 2da4366f9e ("iwlwifi: mei: add the driver to allow cooperation with CSME")
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Signed-off-by: Gregory Greenman <gregory.greenman@intel.com>
Link: https://lore.kernel.org/r/20221030191011.12dc42133502.Idd744ffeeb84b880eb497963ee02563cbb959a42@changeid
This commit is contained in:
Emmanuel Grumbach 2022-10-30 19:17:43 +02:00 committed by Gregory Greenman
parent 95170a46b7
commit bcd68b3dbe
1 changed files with 7 additions and 1 deletions

View File

@ -1171,9 +1171,15 @@ static int iwl_mvm_tx_mpdu(struct iwl_mvm *mvm, struct sk_buff *skb,
/* From now on, we cannot access info->control */
iwl_mvm_skb_prepare_status(skb, dev_cmd);
/*
* The IV is introduced by the HW for new tx api, and it is not present
* in the skb, hence, don't tell iwl_mvm_mei_tx_copy_to_csme about the
* IV for those devices.
*/
if (ieee80211_is_data(fc))
iwl_mvm_mei_tx_copy_to_csme(mvm, skb,
info->control.hw_key ?
info->control.hw_key &&
!iwl_mvm_has_new_tx_api(mvm) ?
info->control.hw_key->iv_len : 0);
if (iwl_trans_tx(mvm->trans, skb, dev_cmd, txq_id))