FAILED: patch "[PATCH] mac80211: remove iwlwifi specific workaround that broke sta" failed to apply to 4.19-stable tree
Subsystems (3)
[email protected]
maintainerThe patch below does not apply to the 4.19-stable tree.
If someone wants it applied there, or to any other stable or longterm tree, then please email the backport, including the original git commit id to <[email protected]>.
thanks,
greg k-h
------------------ original commit in Linus's tree ------------------
From e41eb3e408de27982a5f8f50b2dd8002bed96908 Mon Sep 17 00:00:00 2001
From: Felix Fietkau <[email protected]>
Date: Sat, 19 Jun 2021 12:15:17 +0200
Subject: [PATCH] mac80211: remove iwlwifi specific workaround that broke sta
NDP tx
Sending nulldata packets is important for sw AP link probing and detecting 4-address mode links. The checks that dropped these packets were apparently added to work around an iwlwifi firmware bug with multi-TID aggregation.
drivers/net/wireless/intel/iwlwifi/mvm/tx.c +3 -0
@@ -1032,6 +1032,9 @@ static int iwl_mvm_tx_mpdu(struct iwl_mvm *mvm, struct sk_buff *skb,if (WARN_ON_ONCE (mvmsta->sta_id ==IWL_MVM_INVALID_STA ))return -1 ; +if (unlikely (ieee80211_is_any_nullfunc (fc)) && sta->he_cap.has_he) +return -1 ; +if (unlikely (ieee80211_is_probe_resp (fc)))iwl_mvm_probe_resp_set_noa (mvm, skb);
net/mac80211/mlme.c +0 -9
@@ -1094,11 +1094,6 @@ void ieee80211_send_nullfunc(struct ieee80211_local *local,struct ieee80211_hdr_3addr *nullfunc;struct ieee80211_if_managed *ifmgd = &sdata->u.mgd; -/* Don't send NDPs when STA is connected HE */ -if (sdata->vif.type ==NL80211_IFTYPE_STATION && - !(ifmgd->flags &IEEE80211_STA_DISABLE_HE )) -return ; - skb =ieee80211_nullfunc_get (&local->hw, &sdata->vif, !ieee80211_hw_check (&local->hw,DOESNT_SUPPORT_QOS_NDP ));if (!skb)
@@ -1130,10 +1125,6 @@ static void ieee80211_send_4addr_nullfunc(struct ieee80211_local *local,if (WARN_ON (sdata->vif.type !=NL80211_IFTYPE_STATION ))return ; -/* Don't send NDPs when connected HE */ -if (!(sdata->u.mgd.flags &IEEE80211_STA_DISABLE_HE )) -return ; - skb =dev_alloc_skb (local->hw.extra_tx_headroom +30 );if (!skb)return ;