Commit 217f3c52 authored by Avraham Stern's avatar Avraham Stern Committed by Johannes Berg
Browse files

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: b6f5b647 ("iwlwifi: mvm: handle RX checksum on Bz devices")
Signed-off-by: default avatarAvraham Stern <avraham.stern@intel.com>
Signed-off-by: default avatarGregory Greenman <gregory.greenman@intel.com>
Link: https://lore.kernel.org/r/20230413102635.a2a35286f0ca.I50daa9445a6465514c44f5096c32adef64beba5f@changeid


Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
parent 277f56a1
Loading
Loading
Loading
Loading
+2 −3
Original line number Diff line number Diff line
@@ -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));
	}