aboutsummaryrefslogtreecommitdiffstats
path: root/package/kernel/mac80211/patches/subsys/322-mac80211-swap-NEED_TXPROCESSING-and-HW_80211_ENCAP-t.patch
diff options
context:
space:
mode:
Diffstat (limited to 'package/kernel/mac80211/patches/subsys/322-mac80211-swap-NEED_TXPROCESSING-and-HW_80211_ENCAP-t.patch')
-rw-r--r--package/kernel/mac80211/patches/subsys/322-mac80211-swap-NEED_TXPROCESSING-and-HW_80211_ENCAP-t.patch227
1 files changed, 0 insertions, 227 deletions
diff --git a/package/kernel/mac80211/patches/subsys/322-mac80211-swap-NEED_TXPROCESSING-and-HW_80211_ENCAP-t.patch b/package/kernel/mac80211/patches/subsys/322-mac80211-swap-NEED_TXPROCESSING-and-HW_80211_ENCAP-t.patch
deleted file mode 100644
index d62621ca77..0000000000
--- a/package/kernel/mac80211/patches/subsys/322-mac80211-swap-NEED_TXPROCESSING-and-HW_80211_ENCAP-t.patch
+++ /dev/null
@@ -1,227 +0,0 @@
-From: Felix Fietkau <nbd@nbd.name>
-Date: Mon, 17 Aug 2020 13:35:32 +0200
-Subject: [PATCH] mac80211: swap NEED_TXPROCESSING and HW_80211_ENCAP tx
- flags
-
-In order to unify the tx status path, the hw 802.11 encapsulation flag
-needs to survive the trip to the tx status call.
-Since we don't have any free bits in info->flags, we need to move one.
-IEEE80211_TX_INTFL_NEED_TXPROCESSING is only used internally in mac80211,
-and only before the call into the driver.
-
-Signed-off-by: Felix Fietkau <nbd@nbd.name>
----
-
---- a/drivers/net/wireless/ath/ath11k/dp_tx.c
-+++ b/drivers/net/wireless/ath/ath11k/dp_tx.c
-@@ -14,7 +14,7 @@ ath11k_dp_tx_get_encap_type(struct ath11
- {
- struct ieee80211_tx_info *tx_info = IEEE80211_SKB_CB(skb);
-
-- if (tx_info->control.flags & IEEE80211_TX_CTRL_HW_80211_ENCAP)
-+ if (tx_info->flags & IEEE80211_TX_CTL_HW_80211_ENCAP)
- return HAL_TCL_ENCAP_TYPE_ETHERNET;
-
- return HAL_TCL_ENCAP_TYPE_NATIVE_WIFI;
-@@ -93,7 +93,7 @@ int ath11k_dp_tx(struct ath11k *ar, stru
- if (test_bit(ATH11K_FLAG_CRASH_FLUSH, &ar->ab->dev_flags))
- return -ESHUTDOWN;
-
-- if (!(info->control.flags & IEEE80211_TX_CTRL_HW_80211_ENCAP) &&
-+ if (!(info->flags & IEEE80211_TX_CTL_HW_80211_ENCAP) &&
- !ieee80211_is_data(hdr->frame_control))
- return -ENOTSUPP;
-
---- a/drivers/net/wireless/ath/ath11k/mac.c
-+++ b/drivers/net/wireless/ath/ath11k/mac.c
-@@ -3898,7 +3898,7 @@ static int ath11k_mac_mgmt_tx_wmi(struct
- return -ENOSPC;
-
- info = IEEE80211_SKB_CB(skb);
-- if (!(info->control.flags & IEEE80211_TX_CTRL_HW_80211_ENCAP)) {
-+ if (!(info->flags & IEEE80211_TX_CTL_HW_80211_ENCAP)) {
- if ((ieee80211_is_action(hdr->frame_control) ||
- ieee80211_is_deauth(hdr->frame_control) ||
- ieee80211_is_disassoc(hdr->frame_control)) &&
-@@ -4025,7 +4025,7 @@ static void ath11k_mac_op_tx(struct ieee
- bool is_prb_rsp;
- int ret;
-
-- if (info->control.flags & IEEE80211_TX_CTRL_HW_80211_ENCAP) {
-+ if (info->flags & IEEE80211_TX_CTL_HW_80211_ENCAP) {
- skb_cb->flags |= ATH11K_SKB_HW_80211_ENCAP;
- } else if (ieee80211_is_mgmt(hdr->frame_control)) {
- is_prb_rsp = ieee80211_is_probe_resp(hdr->frame_control);
---- a/include/net/mac80211.h
-+++ b/include/net/mac80211.h
-@@ -720,9 +720,8 @@ struct ieee80211_bss_conf {
- * @IEEE80211_TX_INTFL_OFFCHAN_TX_OK: Internal to mac80211. Used to indicate
- * that a frame can be transmitted while the queues are stopped for
- * off-channel operation.
-- * @IEEE80211_TX_INTFL_NEED_TXPROCESSING: completely internal to mac80211,
-- * used to indicate that a pending frame requires TX processing before
-- * it can be sent out.
-+ * @IEEE80211_TX_CTL_HW_80211_ENCAP: This frame uses hardware encapsulation
-+ * (header conversion)
- * @IEEE80211_TX_INTFL_RETRIED: completely internal to mac80211,
- * used to indicate that a frame was already retried due to PS
- * @IEEE80211_TX_INTFL_DONT_ENCRYPT: completely internal to mac80211,
-@@ -791,7 +790,7 @@ enum mac80211_tx_info_flags {
- IEEE80211_TX_STAT_AMPDU_NO_BACK = BIT(11),
- IEEE80211_TX_CTL_RATE_CTRL_PROBE = BIT(12),
- IEEE80211_TX_INTFL_OFFCHAN_TX_OK = BIT(13),
-- IEEE80211_TX_INTFL_NEED_TXPROCESSING = BIT(14),
-+ IEEE80211_TX_CTL_HW_80211_ENCAP = BIT(14),
- IEEE80211_TX_INTFL_RETRIED = BIT(15),
- IEEE80211_TX_INTFL_DONT_ENCRYPT = BIT(16),
- IEEE80211_TX_CTL_NO_PS_BUFFER = BIT(17),
-@@ -823,8 +822,9 @@ enum mac80211_tx_info_flags {
- * @IEEE80211_TX_CTRL_AMSDU: This frame is an A-MSDU frame
- * @IEEE80211_TX_CTRL_FAST_XMIT: This frame is going through the fast_xmit path
- * @IEEE80211_TX_CTRL_SKIP_MPATH_LOOKUP: This frame skips mesh path lookup
-- * @IEEE80211_TX_CTRL_HW_80211_ENCAP: This frame uses hardware encapsulation
-- * (header conversion)
-+ * @IEEE80211_TX_INTCFL_NEED_TXPROCESSING: completely internal to mac80211,
-+ * used to indicate that a pending frame requires TX processing before
-+ * it can be sent out.
- * @IEEE80211_TX_CTRL_NO_SEQNO: Do not overwrite the sequence number that
- * has already been assigned to this frame.
- *
-@@ -837,7 +837,7 @@ enum mac80211_tx_control_flags {
- IEEE80211_TX_CTRL_AMSDU = BIT(3),
- IEEE80211_TX_CTRL_FAST_XMIT = BIT(4),
- IEEE80211_TX_CTRL_SKIP_MPATH_LOOKUP = BIT(5),
-- IEEE80211_TX_CTRL_HW_80211_ENCAP = BIT(6),
-+ IEEE80211_TX_INTCFL_NEED_TXPROCESSING = BIT(6),
- IEEE80211_TX_CTRL_NO_SEQNO = BIT(7),
- };
-
---- a/net/mac80211/mesh_hwmp.c
-+++ b/net/mac80211/mesh_hwmp.c
-@@ -212,7 +212,7 @@ static void prepare_frame_for_deferred_t
- skb->priority = 7;
-
- info->control.vif = &sdata->vif;
-- info->flags |= IEEE80211_TX_INTFL_NEED_TXPROCESSING;
-+ info->control.flags |= IEEE80211_TX_INTCFL_NEED_TXPROCESSING;
- ieee80211_set_qos_hdr(sdata, skb);
- ieee80211_mps_set_frame_flags(sdata, NULL, hdr);
- }
-@@ -1163,7 +1163,7 @@ int mesh_nexthop_resolve(struct ieee8021
- if (skb_queue_len(&mpath->frame_queue) >= MESH_FRAME_QUEUE_LEN)
- skb_to_free = skb_dequeue(&mpath->frame_queue);
-
-- info->flags |= IEEE80211_TX_INTFL_NEED_TXPROCESSING;
-+ info->control.flags |= IEEE80211_TX_INTCFL_NEED_TXPROCESSING;
- ieee80211_set_qos_hdr(sdata, skb);
- skb_queue_tail(&mpath->frame_queue, skb);
- if (skb_to_free)
---- a/net/mac80211/mesh_ps.c
-+++ b/net/mac80211/mesh_ps.c
-@@ -432,7 +432,7 @@ static void mpsp_qos_null_append(struct
-
- info = IEEE80211_SKB_CB(new_skb);
- info->control.vif = &sdata->vif;
-- info->flags |= IEEE80211_TX_INTFL_NEED_TXPROCESSING;
-+ info->control.flags |= IEEE80211_TX_INTCFL_NEED_TXPROCESSING;
-
- __skb_queue_tail(frames, new_skb);
- }
---- a/net/mac80211/rx.c
-+++ b/net/mac80211/rx.c
-@@ -2901,7 +2901,7 @@ ieee80211_rx_h_mesh_fwding(struct ieee80
- fwd_hdr->frame_control &= ~cpu_to_le16(IEEE80211_FCTL_RETRY);
- info = IEEE80211_SKB_CB(fwd_skb);
- memset(info, 0, sizeof(*info));
-- info->flags |= IEEE80211_TX_INTFL_NEED_TXPROCESSING;
-+ info->control.flags |= IEEE80211_TX_INTCFL_NEED_TXPROCESSING;
- info->control.vif = &rx->sdata->vif;
- info->control.jiffies = jiffies;
- if (is_multicast_ether_addr(fwd_hdr->addr1)) {
---- a/net/mac80211/status.c
-+++ b/net/mac80211/status.c
-@@ -66,8 +66,8 @@ static void ieee80211_handle_filtered_fr
-
- info->control.jiffies = jiffies;
- info->control.vif = &sta->sdata->vif;
-- info->flags |= IEEE80211_TX_INTFL_NEED_TXPROCESSING |
-- IEEE80211_TX_INTFL_RETRANSMISSION;
-+ info->control.flags |= IEEE80211_TX_INTCFL_NEED_TXPROCESSING;
-+ info->flags |= IEEE80211_TX_INTFL_RETRANSMISSION;
- info->flags &= ~IEEE80211_TX_TEMPORARY_FLAGS;
-
- sta->status_stats.filtered++;
---- a/net/mac80211/tx.c
-+++ b/net/mac80211/tx.c
-@@ -531,7 +531,7 @@ ieee80211_tx_h_unicast_ps_buf(struct iee
-
- info->control.jiffies = jiffies;
- info->control.vif = &tx->sdata->vif;
-- info->flags |= IEEE80211_TX_INTFL_NEED_TXPROCESSING;
-+ info->control.flags |= IEEE80211_TX_INTCFL_NEED_TXPROCESSING;
- info->flags &= ~IEEE80211_TX_TEMPORARY_FLAGS;
- skb_queue_tail(&sta->ps_tx_buf[ac], tx->skb);
- spin_unlock(&sta->ps_lock);
-@@ -1134,7 +1134,7 @@ static bool ieee80211_tx_prep_agg(struct
- tx->sta->sta.addr, tx->sta->sta.aid);
- }
- info->control.vif = &tx->sdata->vif;
-- info->flags |= IEEE80211_TX_INTFL_NEED_TXPROCESSING;
-+ info->control.flags |= IEEE80211_TX_INTCFL_NEED_TXPROCESSING;
- info->flags &= ~IEEE80211_TX_TEMPORARY_FLAGS;
- __skb_queue_tail(&tid_tx->pending, skb);
- if (skb_queue_len(&tid_tx->pending) > STA_MAX_TX_BUFFER)
-@@ -1179,7 +1179,7 @@ ieee80211_tx_prepare(struct ieee80211_su
- * we are doing the needed processing, so remove the flag
- * now.
- */
-- info->flags &= ~IEEE80211_TX_INTFL_NEED_TXPROCESSING;
-+ info->control.flags &= ~IEEE80211_TX_INTCFL_NEED_TXPROCESSING;
-
- hdr = (struct ieee80211_hdr *) skb->data;
-
-@@ -1258,7 +1258,7 @@ static struct txq_info *ieee80211_get_tx
- (info->control.flags & IEEE80211_TX_CTRL_PS_RESPONSE))
- return NULL;
-
-- if (!(info->control.flags & IEEE80211_TX_CTRL_HW_80211_ENCAP) &&
-+ if (!(info->flags & IEEE80211_TX_CTL_HW_80211_ENCAP) &&
- unlikely(!ieee80211_is_data_present(hdr->frame_control))) {
- if ((!ieee80211_is_mgmt(hdr->frame_control) ||
- ieee80211_is_bufferable_mmpdu(hdr->frame_control) ||
-@@ -3637,7 +3637,7 @@ begin:
- else
- info->flags &= ~IEEE80211_TX_CTL_AMPDU;
-
-- if (info->control.flags & IEEE80211_TX_CTRL_HW_80211_ENCAP)
-+ if (info->flags & IEEE80211_TX_CTL_HW_80211_ENCAP)
- goto encap_out;
-
- if (info->control.flags & IEEE80211_TX_CTRL_FAST_XMIT) {
-@@ -4227,7 +4227,7 @@ static void ieee80211_8023_xmit(struct i
- sdata = container_of(sdata->bss,
- struct ieee80211_sub_if_data, u.ap);
-
-- info->control.flags |= IEEE80211_TX_CTRL_HW_80211_ENCAP;
-+ info->flags |= IEEE80211_TX_CTL_HW_80211_ENCAP;
- info->control.vif = &sdata->vif;
-
- if (key)
-@@ -4352,7 +4352,7 @@ static bool ieee80211_tx_pending_skb(str
-
- sdata = vif_to_sdata(info->control.vif);
-
-- if (info->flags & IEEE80211_TX_INTFL_NEED_TXPROCESSING) {
-+ if (info->control.flags & IEEE80211_TX_INTCFL_NEED_TXPROCESSING) {
- chanctx_conf = rcu_dereference(sdata->vif.chanctx_conf);
- if (unlikely(!chanctx_conf)) {
- dev_kfree_skb(skb);
-@@ -4360,7 +4360,7 @@ static bool ieee80211_tx_pending_skb(str
- }
- info->band = chanctx_conf->def.chan->band;
- result = ieee80211_tx(sdata, NULL, skb, true);
-- } else if (info->control.flags & IEEE80211_TX_CTRL_HW_80211_ENCAP) {
-+ } else if (info->flags & IEEE80211_TX_CTL_HW_80211_ENCAP) {
- if (ieee80211_lookup_ra_sta(sdata, skb, &sta)) {
- dev_kfree_skb(skb);
- return true;