Commit b6f5b647 authored by Johannes Berg's avatar Johannes Berg Committed by Luca Coelho
Browse files

iwlwifi: mvm: handle RX checksum on Bz devices



On Bz devices, the hardware checksums including the SNAP header,
starting directly after the MAC header, so we don't need the
extra checks and can just pass the checksum to mac80211.

Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
Signed-off-by: default avatarLuca Coelho <luciano.coelho@intel.com>
Link: https://lore.kernel.org/r/iwlwifi.20211219121514.8ef59da4e05e.Ide87c2dc8fa08eae55c013a625f4ece5184b1b63@changeid


Signed-off-by: default avatarLuca Coelho <luciano.coelho@intel.com>
parent 6772aab7
Loading
Loading
Loading
Loading
+5 −1
Original line number Diff line number Diff line
@@ -172,8 +172,12 @@ static int iwl_mvm_create_skb(struct iwl_mvm *mvm, struct sk_buff *skb,
	 * in the cases the hardware didn't handle, since it's rare to see
	 * such packets, even though the hardware did calculate the checksum
	 * in this case, just starting after the MAC header instead.
	 *
	 * Starting from Bz hardware, it calculates starting directly after
	 * the MAC header, so that matches mac80211's expectation.
	 */
	if (skb->ip_summed == CHECKSUM_COMPLETE) {
	if (skb->ip_summed == CHECKSUM_COMPLETE &&
	    mvm->trans->trans_cfg->device_family < IWL_DEVICE_FAMILY_BZ) {
		struct {
			u8 hdr[6];
			__be16 type;