wifi: iwlwifi: mvm: don't set CHECKSUM_COMPLETE for unsupported protocols

Bugzilla: https://bugzilla.redhat.com/2196821

commit 217f3c52f00d3419ecdd38a99a7eceecb11679b2
Author: Avraham Stern <avraham.stern@intel.com>
Date:   Thu Apr 13 10:44:15 2023 +0300

    wifi: iwlwifi: mvm: don't set CHECKSUM_COMPLETE for unsupported protocols
    
    On Bz devices, CHECKSUM_COMPLETE was set for unsupported protocols
    which results in a warning. Fix it.
    
    Fixes: b6f5b647f694 ("iwlwifi: mvm: handle RX checksum on Bz devices")
    Signed-off-by: Avraham Stern <avraham.stern@intel.com>
    Signed-off-by: Gregory Greenman <gregory.greenman@intel.com>
    Link: https://lore.kernel.org/r/20230413102635.a2a35286f0ca.I50daa9445a6465514c44f5096c32adef64beba5f@changeid
    Signed-off-by: Johannes Berg <johannes.berg@intel.com>

Signed-off-by: Íñigo Huguet <ihuguet@redhat.com>
This commit is contained in:
Íñigo Huguet 2023-07-26 13:15:40 +02:00
parent bdb4ab7ea0
commit 99d383b55c
1 changed files with 2 additions and 3 deletions

View File

@ -172,8 +172,7 @@ static int iwl_mvm_create_skb(struct iwl_mvm *mvm, struct sk_buff *skb,
* Starting from Bz hardware, it calculates starting directly after
* the MAC header, so that matches mac80211's expectation.
*/
if (skb->ip_summed == CHECKSUM_COMPLETE &&
mvm->trans->trans_cfg->device_family < IWL_DEVICE_FAMILY_BZ) {
if (skb->ip_summed == CHECKSUM_COMPLETE) {
struct {
u8 hdr[6];
__be16 type;
@ -188,7 +187,7 @@ static int iwl_mvm_create_skb(struct iwl_mvm *mvm, struct sk_buff *skb,
shdr->type != htons(ETH_P_PAE) &&
shdr->type != htons(ETH_P_TDLS))))
skb->ip_summed = CHECKSUM_NONE;
else
else if (mvm->trans->trans_cfg->device_family < IWL_DEVICE_FAMILY_BZ)
/* mac80211 assumes full CSUM including SNAP header */
skb_postpush_rcsum(skb, shdr, sizeof(*shdr));
}