ath11k_nss: Revert logic from coconut branch in NSS redirect

There was logic that was initially included in the coconut branch of
QSDK for older mac80211 NSS implementation. It was brought over to
address an issue with ath10k where during heavy traffic, AP would trigger
`failed to increase tx pending count: -16, dropping`.

The issue was actually caused by `skb_recyler` malforming some packets.
Disabling `skb_recyler` fixed the error, and therefore the logic
regarding `skb_queue_len(&local->pending[q]) >= 1000` can be reverted to
match what is currently upstream with QSDK.

Alsi refreshed remaning patches after rebase.

Signed-off-by: Sean Khan <datapronix@protonmail.com>
This commit is contained in:
Sean Khan 2024-07-22 18:50:38 -04:00
parent 2027830ef7
commit b46a81392a
12 changed files with 54 additions and 69 deletions

View File

@ -138,7 +138,7 @@ Signed-off-by: Sowmiya Sree Elavalagan <ssreeela@codeaurora.org>
return 0;
--- a/net/mac80211/rx.c
+++ b/net/mac80211/rx.c
@@ -2606,6 +2606,58 @@ static bool ieee80211_frame_allowed(stru
@@ -2606,6 +2606,60 @@ static bool ieee80211_frame_allowed(stru
return true;
}
@ -179,6 +179,8 @@ Signed-off-by: Sowmiya Sree Elavalagan <ssreeela@codeaurora.org>
+ ret = nss_virt_if_tx_buf(sdata->nssctx, skb);
+ if (ret) {
+ if (net_ratelimit()) {
+ if (NSS_TX_FAILURE_NOT_ENABLED == ret)
+ goto out;
+ sdata_err(sdata, "NSS TX failed with error: %s\n",
+ nss_tx_status_str(ret));
+ }
@ -197,7 +199,7 @@ Signed-off-by: Sowmiya Sree Elavalagan <ssreeela@codeaurora.org>
static void ieee80211_deliver_skb_to_local_stack(struct sk_buff *skb,
struct ieee80211_rx_data *rx)
{
@@ -2645,11 +2697,15 @@ static void ieee80211_deliver_skb_to_loc
@@ -2645,11 +2699,15 @@ static void ieee80211_deliver_skb_to_loc
!ether_addr_equal(ehdr->h_dest, sdata->vif.addr)))
ether_addr_copy(ehdr->h_dest, sdata->vif.addr);
@ -215,24 +217,7 @@ Signed-off-by: Sowmiya Sree Elavalagan <ssreeela@codeaurora.org>
--- a/net/mac80211/tx.c
+++ b/net/mac80211/tx.c
@@ -1725,6 +1725,16 @@ static bool ieee80211_tx_frags(struct ie
}
} else {
+#ifdef CPTCFG_MAC80211_NSS_SUPPORT
+ if (skb_queue_len(&local->pending[q]) >= 1000) {
+ spin_unlock_irqrestore(
+ &local->queue_stop_reason_lock,
+ flags);
+ ieee80211_purge_tx_queue(&local->hw,
+ skbs);
+ return false;
+ }
+#endif
/*
* Since queue is stopped, queue up frames for
* later transmission from the tx-pending
@@ -4526,6 +4536,35 @@ static void ieee80211_mlo_multicast_tx(s
@@ -4526,6 +4526,35 @@ static void ieee80211_mlo_multicast_tx(s
kfree_skb(skb);
}
@ -268,7 +253,7 @@ Signed-off-by: Sowmiya Sree Elavalagan <ssreeela@codeaurora.org>
/**
* ieee80211_subif_start_xmit - netif start_xmit function for 802.3 vifs
* @skb: packet to be sent
@@ -4541,6 +4580,10 @@ netdev_tx_t ieee80211_subif_start_xmit(s
@@ -4541,6 +4570,10 @@ netdev_tx_t ieee80211_subif_start_xmit(s
struct ieee80211_sub_if_data *sdata = IEEE80211_DEV_TO_SUB_IF(dev);
const struct ethhdr *eth = (void *)skb->data;
@ -279,7 +264,7 @@ Signed-off-by: Sowmiya Sree Elavalagan <ssreeela@codeaurora.org>
if (likely(!is_multicast_ether_addr(eth->h_dest)))
goto normal;
@@ -4730,6 +4773,9 @@ netdev_tx_t ieee80211_subif_start_xmit_8
@@ -4730,6 +4763,9 @@ netdev_tx_t ieee80211_subif_start_xmit_8
struct ieee80211_key *key;
struct sta_info *sta;

View File

@ -137,7 +137,7 @@ Signed-off-by: Sathishkumar Muruganandam <murugana@codeaurora.org>
{
--- a/net/mac80211/tx.c
+++ b/net/mac80211/tx.c
@@ -4330,8 +4330,11 @@ void __ieee80211_subif_start_xmit(struct
@@ -4320,8 +4320,11 @@ void __ieee80211_subif_start_xmit(struct
sta = NULL;
if (sdata->vif.type == NL80211_IFTYPE_AP_VLAN) {
@ -151,7 +151,7 @@ Signed-off-by: Sathishkumar Muruganandam <murugana@codeaurora.org>
if (ap_sdata->vif.offload_flags & IEEE80211_OFFLOAD_ENCAP_ENABLED &&
!is_multicast_ether_addr(skb->data)) {
if (sta)
@@ -4723,7 +4726,8 @@ static void ieee80211_8023_xmit(struct i
@@ -4713,7 +4716,8 @@ static void ieee80211_8023_xmit(struct i
info->hw_queue = sdata->vif.hw_queue[queue];

View File

@ -102,7 +102,7 @@ Signed-off-by: Sathishkumar Muruganandam <murugana@codeaurora.org>
key->conf.cipher = cipher;
--- a/net/mac80211/tx.c
+++ b/net/mac80211/tx.c
@@ -4682,16 +4682,25 @@ static void ieee80211_8023_xmit(struct i
@@ -4672,16 +4672,25 @@ static void ieee80211_8023_xmit(struct i
struct ieee80211_key *key, struct sk_buff *skb)
{
struct ieee80211_tx_info *info;

View File

@ -30,7 +30,7 @@ Signed-off-by: Gautham Kumar Senthilkumaran <quic_gauthamk@quicinc.com>
struct ieee80211_local *local;
--- a/net/mac80211/tx.c
+++ b/net/mac80211/tx.c
@@ -4711,19 +4711,21 @@ static void ieee80211_8023_xmit(struct i
@@ -4701,19 +4701,21 @@ static void ieee80211_8023_xmit(struct i
ieee80211_aggr_check(sdata, sta, skb);
@ -64,7 +64,7 @@ Signed-off-by: Gautham Kumar Senthilkumaran <quic_gauthamk@quicinc.com>
}
skb = ieee80211_tx_skb_fixup(skb, ieee80211_sdata_netdev_features(sdata));
@@ -4783,7 +4785,7 @@ netdev_tx_t ieee80211_subif_start_xmit_8
@@ -4773,7 +4775,7 @@ netdev_tx_t ieee80211_subif_start_xmit_8
{
struct ieee80211_sub_if_data *sdata = IEEE80211_DEV_TO_SUB_IF(dev);
struct ethhdr *ehdr = (struct ethhdr *)skb->data;
@ -73,7 +73,7 @@ Signed-off-by: Gautham Kumar Senthilkumaran <quic_gauthamk@quicinc.com>
struct sta_info *sta;
#ifdef CPTCFG_MAC80211_NSS_SUPPORT
@@ -4801,9 +4803,13 @@ netdev_tx_t ieee80211_subif_start_xmit_8
@@ -4791,9 +4793,13 @@ netdev_tx_t ieee80211_subif_start_xmit_8
goto out;
}
@ -90,7 +90,7 @@ Signed-off-by: Gautham Kumar Senthilkumaran <quic_gauthamk@quicinc.com>
goto skip_offload;
key = rcu_dereference(sta->ptk[sta->ptk_idx]);
@@ -4814,6 +4820,7 @@ netdev_tx_t ieee80211_subif_start_xmit_8
@@ -4804,6 +4810,7 @@ netdev_tx_t ieee80211_subif_start_xmit_8
goto skip_offload;
sk_pacing_shift_update(skb->sk, sdata->local->hw.tx_sk_pacing_shift);
@ -98,7 +98,7 @@ Signed-off-by: Gautham Kumar Senthilkumaran <quic_gauthamk@quicinc.com>
ieee80211_8023_xmit(sdata, dev, sta, key, skb);
goto out;
@@ -6336,13 +6343,7 @@ int ieee80211_tx_control_port(struct wip
@@ -6326,13 +6333,7 @@ int ieee80211_tx_control_port(struct wip
start_xmit:
local_bh_disable();

View File

@ -1160,7 +1160,7 @@ Signed-off-by: Gautham Kumar Senthilkumaran <quic_gauthamk@quicinc.com>
void mesh_pathtbl_unregister(struct ieee80211_sub_if_data *sdata)
--- a/net/mac80211/tx.c
+++ b/net/mac80211/tx.c
@@ -2638,7 +2638,7 @@ static struct sk_buff *ieee80211_build_h
@@ -2628,7 +2628,7 @@ static struct sk_buff *ieee80211_build_h
bool multicast;
u16 info_id = 0;
struct ieee80211_chanctx_conf *chanctx_conf = NULL;
@ -1169,7 +1169,7 @@ Signed-off-by: Gautham Kumar Senthilkumaran <quic_gauthamk@quicinc.com>
int ret;
u8 link_id = u32_get_bits(ctrl_flags, IEEE80211_TX_CTRL_MLO_LINK);
@@ -2650,6 +2650,9 @@ static struct sk_buff *ieee80211_build_h
@@ -2640,6 +2640,9 @@ static struct sk_buff *ieee80211_build_h
info_flags |= IEEE80211_TX_CTL_REQ_TX_STATUS;
#endif
@ -1179,7 +1179,7 @@ Signed-off-by: Gautham Kumar Senthilkumaran <quic_gauthamk@quicinc.com>
/* convert Ethernet header to proper 802.11 header (based on
* operation mode) */
ethertype = (skb->data[12] << 8) | skb->data[13];
@@ -2720,6 +2723,13 @@ static struct sk_buff *ieee80211_build_h
@@ -2710,6 +2713,13 @@ static struct sk_buff *ieee80211_build_h
break;
#ifdef CPTCFG_MAC80211_MESH
case NL80211_IFTYPE_MESH_POINT:
@ -1193,7 +1193,7 @@ Signed-off-by: Gautham Kumar Senthilkumaran <quic_gauthamk@quicinc.com>
if (!is_multicast_ether_addr(skb->data)) {
struct sta_info *next_hop;
bool mpp_lookup = true;
@@ -2984,6 +2994,9 @@ static struct sk_buff *ieee80211_build_h
@@ -2974,6 +2984,9 @@ static struct sk_buff *ieee80211_build_h
skb_reset_mac_header(skb);
@ -1203,7 +1203,7 @@ Signed-off-by: Gautham Kumar Senthilkumaran <quic_gauthamk@quicinc.com>
info = IEEE80211_SKB_CB(skb);
memset(info, 0, sizeof(*info));
@@ -4307,6 +4320,7 @@ void __ieee80211_subif_start_xmit(struct
@@ -4297,6 +4310,7 @@ void __ieee80211_subif_start_xmit(struct
struct sk_buff *next;
int len = skb->len;
struct ieee80211_key *key = NULL;
@ -1211,7 +1211,7 @@ Signed-off-by: Gautham Kumar Senthilkumaran <quic_gauthamk@quicinc.com>
struct ieee80211_sub_if_data *ap_sdata;
if (unlikely(!ieee80211_sdata_running(sdata) || skb->len < ETH_HLEN)) {
@@ -4381,9 +4395,15 @@ void __ieee80211_subif_start_xmit(struct
@@ -4371,9 +4385,15 @@ void __ieee80211_subif_start_xmit(struct
goto out;
}

View File

@ -14,7 +14,7 @@ Signed-off-by: Aloka Dixit <quic_alokad@quicinc.com>
--- a/net/mac80211/tx.c
+++ b/net/mac80211/tx.c
@@ -4800,6 +4800,67 @@ out_free:
@@ -4790,6 +4790,67 @@ out_free:
kfree_skb(skb);
}
@ -82,7 +82,7 @@ Signed-off-by: Aloka Dixit <quic_alokad@quicinc.com>
netdev_tx_t ieee80211_subif_start_xmit_8023(struct sk_buff *skb,
struct net_device *dev)
{
@@ -4839,6 +4900,11 @@ netdev_tx_t ieee80211_subif_start_xmit_8
@@ -4829,6 +4890,11 @@ netdev_tx_t ieee80211_subif_start_xmit_8
if (key && (!(key->flags & KEY_FLAG_UPLOADED_TO_HARDWARE)))
goto skip_offload;

View File

@ -94,7 +94,7 @@ Signed-off-by: Sriram R <quic_srirrama@quicinc.com>
if (action) {
--- a/net/mac80211/rx.c
+++ b/net/mac80211/rx.c
@@ -4711,10 +4711,15 @@ void ieee80211_check_fast_rx(struct sta_
@@ -4713,10 +4713,15 @@ void ieee80211_check_fast_rx(struct sta_
break;
case NL80211_IFTYPE_MESH_POINT:
@ -112,7 +112,7 @@ Signed-off-by: Sriram R <quic_srirrama@quicinc.com>
break;
default:
goto clear;
@@ -4755,7 +4760,7 @@ void ieee80211_check_fast_rx(struct sta_
@@ -4757,7 +4762,7 @@ void ieee80211_check_fast_rx(struct sta_
__release(check_fast_rx);
if (assign)
@ -121,7 +121,7 @@ Signed-off-by: Sriram R <quic_srirrama@quicinc.com>
offload_flags = get_bss_sdata(sdata)->vif.offload_flags;
offload = offload_flags & IEEE80211_OFFLOAD_DECAP_ENABLED;
@@ -4937,6 +4942,10 @@ static bool ieee80211_invoke_fast_rx(str
@@ -4939,6 +4944,10 @@ static bool ieee80211_invoke_fast_rx(str
u8 sa[ETH_ALEN];
} addrs __aligned(2);
struct ieee80211_sta_rx_stats *stats;
@ -132,7 +132,7 @@ Signed-off-by: Sriram R <quic_srirrama@quicinc.com>
/* for parallel-rx, we need to have DUP_VALIDATED, otherwise we write
* to a common data structure; drivers can implement that per queue
@@ -4986,6 +4995,37 @@ static bool ieee80211_invoke_fast_rx(str
@@ -4988,6 +4997,37 @@ static bool ieee80211_invoke_fast_rx(str
snap_offs += IEEE80211_CCMP_HDR_LEN;
}
@ -170,7 +170,7 @@ Signed-off-by: Sriram R <quic_srirrama@quicinc.com>
if (!ieee80211_vif_is_mesh(&rx->sdata->vif) &&
!(status->rx_flags & IEEE80211_RX_AMSDU)) {
if (!pskb_may_pull(skb, snap_offs + sizeof(*payload)))
@@ -5023,9 +5063,33 @@ static bool ieee80211_invoke_fast_rx(str
@@ -5025,9 +5065,33 @@ static bool ieee80211_invoke_fast_rx(str
return true;
}

View File

@ -33,7 +33,7 @@ Signed-off-by: Tamizh Chelvam <quic_tamizhr@quicinc.com>
--- a/net/mac80211/tx.c
+++ b/net/mac80211/tx.c
@@ -4731,7 +4731,7 @@ static void ieee80211_8023_xmit(struct i
@@ -4721,7 +4721,7 @@ static void ieee80211_8023_xmit(struct i
ieee80211_aggr_check(sdata, sta, skb);
@ -42,7 +42,7 @@ Signed-off-by: Tamizh Chelvam <quic_tamizhr@quicinc.com>
tid = skb->priority & IEEE80211_QOS_CTL_TAG1D_MASK;
tid_tx = rcu_dereference(sta->ampdu_mlme.tid_tx[tid]);
if (tid_tx) {
@@ -4785,7 +4785,7 @@ static void ieee80211_8023_xmit(struct i
@@ -4775,7 +4775,7 @@ static void ieee80211_8023_xmit(struct i
}
dev_sw_netstats_tx_add(dev, skbs, len);

View File

@ -44,7 +44,7 @@ Signed-off-by: Aaradhana Sahu <quic_aarasahu@quicinc.com>
/* misc utils */
static __le16 ieee80211_duration(struct ieee80211_tx_data *tx,
@@ -4353,7 +4354,7 @@ void __ieee80211_subif_start_xmit(struct
@@ -4343,7 +4344,7 @@ void __ieee80211_subif_start_xmit(struct
!is_multicast_ether_addr(skb->data)) {
if (sta)
key = rcu_dereference(sta->ptk[sta->ptk_idx]);
@ -53,7 +53,7 @@ Signed-off-by: Aaradhana Sahu <quic_aarasahu@quicinc.com>
rcu_read_unlock();
return;
}
@@ -4399,7 +4400,7 @@ void __ieee80211_subif_start_xmit(struct
@@ -4389,7 +4390,7 @@ void __ieee80211_subif_start_xmit(struct
if (info->flags & IEEE80211_TX_CTL_HW_80211_ENCAP) {
if (sta)
key = rcu_dereference(sta->ptk[sta->ptk_idx]);
@ -62,7 +62,7 @@ Signed-off-by: Aaradhana Sahu <quic_aarasahu@quicinc.com>
} else {
dev_sw_netstats_tx_add(dev, 1, skb->len);
ieee80211_xmit(sdata, sta, skb);
@@ -4699,7 +4700,8 @@ static bool ieee80211_tx_8023(struct iee
@@ -4689,7 +4690,8 @@ static bool ieee80211_tx_8023(struct iee
static void ieee80211_8023_xmit(struct ieee80211_sub_if_data *sdata,
struct net_device *dev, struct sta_info *sta,
@ -72,7 +72,7 @@ Signed-off-by: Aaradhana Sahu <quic_aarasahu@quicinc.com>
{
struct ieee80211_tx_info *info;
struct ethhdr *ehdr = (struct ethhdr *)skb->data;
@@ -4755,6 +4757,7 @@ static void ieee80211_8023_xmit(struct i
@@ -4745,6 +4747,7 @@ static void ieee80211_8023_xmit(struct i
info = IEEE80211_SKB_CB(skb);
memset(info, 0, sizeof(*info));
@ -80,7 +80,7 @@ Signed-off-by: Aaradhana Sahu <quic_aarasahu@quicinc.com>
info->hw_queue = sdata->vif.hw_queue[queue];
if (sdata->vif.type == NL80211_IFTYPE_AP_VLAN &&
@@ -4775,11 +4778,12 @@ static void ieee80211_8023_xmit(struct i
@@ -4765,11 +4768,12 @@ static void ieee80211_8023_xmit(struct i
memcpy(IEEE80211_SKB_CB(seg), info, sizeof(*info));
}
@ -96,7 +96,7 @@ Signed-off-by: Aaradhana Sahu <quic_aarasahu@quicinc.com>
if (info->status_data)
info->status_data_idr = 1;
}
@@ -4802,7 +4806,8 @@ out_free:
@@ -4792,7 +4796,8 @@ out_free:
void ieee80211_8023_xmit_ap(struct ieee80211_sub_if_data *sdata,
struct net_device *dev, struct sta_info *sta,
@ -106,7 +106,7 @@ Signed-off-by: Aaradhana Sahu <quic_aarasahu@quicinc.com>
{
struct ieee80211_tx_info *info;
struct ieee80211_local *local = sdata->local;
@@ -4811,6 +4816,9 @@ void ieee80211_8023_xmit_ap(struct ieee8
@@ -4801,6 +4806,9 @@ void ieee80211_8023_xmit_ap(struct ieee8
unsigned long flags;
int q;
u16 q_map;
@ -116,7 +116,7 @@ Signed-off-by: Aaradhana Sahu <quic_aarasahu@quicinc.com>
/*
* If the skb is shared we need to obtain our own copy.
@@ -4822,11 +4830,13 @@ void ieee80211_8023_xmit_ap(struct ieee8
@@ -4812,11 +4820,13 @@ void ieee80211_8023_xmit_ap(struct ieee8
info = IEEE80211_SKB_CB(skb);
memset(info, 0, sizeof(*info));
@ -133,7 +133,7 @@ Signed-off-by: Aaradhana Sahu <quic_aarasahu@quicinc.com>
info->flags |= IEEE80211_TX_CTL_HW_80211_ENCAP;
info->control.vif = &sdata->vif;
@@ -4860,14 +4870,23 @@ void ieee80211_8023_xmit_ap(struct ieee8
@@ -4850,14 +4860,23 @@ void ieee80211_8023_xmit_ap(struct ieee8
drv_tx(local, &control, skb);
}
@ -158,7 +158,7 @@ Signed-off-by: Aaradhana Sahu <quic_aarasahu@quicinc.com>
#ifdef CPTCFG_MAC80211_NSS_SUPPORT
ieee80211_xmit_nss_fixup(skb, dev);
@@ -4883,14 +4902,15 @@ netdev_tx_t ieee80211_subif_start_xmit_8
@@ -4873,14 +4892,15 @@ netdev_tx_t ieee80211_subif_start_xmit_8
kfree_skb(skb);
goto out;
}
@ -176,7 +176,7 @@ Signed-off-by: Aaradhana Sahu <quic_aarasahu@quicinc.com>
goto skip_offload;
key = rcu_dereference(sta->ptk[sta->ptk_idx]);
@@ -4901,13 +4921,13 @@ netdev_tx_t ieee80211_subif_start_xmit_8
@@ -4891,13 +4911,13 @@ netdev_tx_t ieee80211_subif_start_xmit_8
goto skip_offload;
if (sdata->vif.type == NL80211_IFTYPE_AP) {
@ -192,7 +192,7 @@ Signed-off-by: Aaradhana Sahu <quic_aarasahu@quicinc.com>
goto out;
skip_offload:
@@ -6429,7 +6449,10 @@ int ieee80211_tx_control_port(struct wip
@@ -6419,7 +6439,10 @@ int ieee80211_tx_control_port(struct wip
start_xmit:
local_bh_disable();

View File

@ -31,7 +31,7 @@ Signed-off-by: Tamizh Chelvam Raja <quic_tamizhr@quicinc.com>
static void ieee80211_8023_xmit(struct ieee80211_sub_if_data *sdata,
struct net_device *dev, struct sta_info *sta,
struct ieee80211_key *key, struct sk_buff *skb,
@@ -3668,7 +3670,7 @@ ieee80211_sdata_netdev_features(struct i
@@ -3658,7 +3660,7 @@ ieee80211_sdata_netdev_features(struct i
}
static struct sk_buff *
@ -40,7 +40,7 @@ Signed-off-by: Tamizh Chelvam Raja <quic_tamizhr@quicinc.com>
{
if (skb_is_gso(skb)) {
struct sk_buff *segs;
@@ -3686,7 +3688,7 @@ ieee80211_tx_skb_fixup(struct sk_buff *s
@@ -3676,7 +3678,7 @@ ieee80211_tx_skb_fixup(struct sk_buff *s
if (skb_needs_linearize(skb, features) && __skb_linearize(skb))
goto free;
@ -49,7 +49,7 @@ Signed-off-by: Tamizh Chelvam Raja <quic_tamizhr@quicinc.com>
int ofs = skb_checksum_start_offset(skb);
if (skb->encapsulation)
@@ -3832,7 +3834,7 @@ static bool ieee80211_xmit_fast(struct i
@@ -3822,7 +3824,7 @@ static bool ieee80211_xmit_fast(struct i
memcpy(&eth, skb->data, ETH_HLEN - 2);
/* after this point (skb is modified) we cannot return false */
@ -58,7 +58,7 @@ Signed-off-by: Tamizh Chelvam Raja <quic_tamizhr@quicinc.com>
if (!skb)
return true;
@@ -4377,7 +4379,7 @@ void __ieee80211_subif_start_xmit(struct
@@ -4367,7 +4369,7 @@ void __ieee80211_subif_start_xmit(struct
* things so we cannot really handle checksum or GSO offload.
* fix it up in software before we handle anything else.
*/
@ -67,7 +67,7 @@ Signed-off-by: Tamizh Chelvam Raja <quic_tamizhr@quicinc.com>
if (!skb) {
len = 0;
goto out;
@@ -4750,7 +4752,7 @@ static void ieee80211_8023_xmit(struct i
@@ -4740,7 +4742,7 @@ static void ieee80211_8023_xmit(struct i
}
}

View File

@ -83,7 +83,7 @@ Signed-off-by: Yuvasree Sivasankaran <quic_ysivasan@quicinc.com>
return false;
if (sdata->vif.type == NL80211_IFTYPE_AP_VLAN)
@@ -4362,7 +4369,8 @@ void __ieee80211_subif_start_xmit(struct
@@ -4352,7 +4359,8 @@ void __ieee80211_subif_start_xmit(struct
}
}
@ -93,7 +93,7 @@ Signed-off-by: Yuvasree Sivasankaran <quic_ysivasan@quicinc.com>
ieee80211_aggr_check(sdata, sta, skb);
if (sta) {
@@ -4716,8 +4724,10 @@ static void ieee80211_8023_xmit(struct i
@@ -4706,8 +4714,10 @@ static void ieee80211_8023_xmit(struct i
bool multicast;
u8 tid;
@ -106,7 +106,7 @@ Signed-off-by: Yuvasree Sivasankaran <quic_ysivasan@quicinc.com>
multicast = is_multicast_ether_addr(ra);
@@ -6436,9 +6446,12 @@ int ieee80211_tx_control_port(struct wip
@@ -6426,9 +6436,12 @@ int ieee80211_tx_control_port(struct wip
}
if (!IS_ERR(sta)) {

View File

@ -10,7 +10,7 @@ Signed-off-by: Aaradhana Sahu <quic_aarasahu@quicinc.com>
--- a/net/mac80211/rx.c
+++ b/net/mac80211/rx.c
@@ -4709,16 +4709,14 @@ void ieee80211_check_fast_rx(struct sta_
@@ -4711,16 +4711,14 @@ void ieee80211_check_fast_rx(struct sta_
break;
case NL80211_IFTYPE_MESH_POINT:
@ -30,7 +30,7 @@ Signed-off-by: Aaradhana Sahu <quic_aarasahu@quicinc.com>
default:
goto clear;
}
@@ -4940,10 +4938,7 @@ static bool ieee80211_invoke_fast_rx(str
@@ -4942,10 +4940,7 @@ static bool ieee80211_invoke_fast_rx(str
u8 sa[ETH_ALEN];
} addrs __aligned(2);
struct ieee80211_sta_rx_stats *stats;
@ -41,7 +41,7 @@ Signed-off-by: Aaradhana Sahu <quic_aarasahu@quicinc.com>
/* for parallel-rx, we need to have DUP_VALIDATED, otherwise we write
* to a common data structure; drivers can implement that per queue
@@ -4993,37 +4988,6 @@ static bool ieee80211_invoke_fast_rx(str
@@ -4995,37 +4990,6 @@ static bool ieee80211_invoke_fast_rx(str
snap_offs += IEEE80211_CCMP_HDR_LEN;
}
@ -79,7 +79,7 @@ Signed-off-by: Aaradhana Sahu <quic_aarasahu@quicinc.com>
if (!ieee80211_vif_is_mesh(&rx->sdata->vif) &&
!(status->rx_flags & IEEE80211_RX_AMSDU)) {
if (!pskb_may_pull(skb, snap_offs + sizeof(*payload)))
@@ -5061,30 +5025,6 @@ static bool ieee80211_invoke_fast_rx(str
@@ -5063,30 +5027,6 @@ static bool ieee80211_invoke_fast_rx(str
return true;
}