]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
drop wifi-iwlwifi-use-fw-rate-for-non-data-frames.patch from everywhere
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 15 Nov 2023 22:00:14 +0000 (17:00 -0500)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 15 Nov 2023 22:00:14 +0000 (17:00 -0500)
19 files changed:
queue-5.10/series
queue-5.10/wifi-iwlwifi-use-fw-rate-for-non-data-frames.patch [deleted file]
queue-5.15/series
queue-5.15/wifi-iwlwifi-empty-overflow-queue-during-flush.patch
queue-5.15/wifi-iwlwifi-use-fw-rate-for-non-data-frames.patch [deleted file]
queue-5.4/nd_btt-make-btt-lanes-preemptible.patch
queue-5.4/series
queue-5.4/wifi-iwlwifi-use-fw-rate-for-non-data-frames.patch [deleted file]
queue-6.1/series
queue-6.1/wifi-iwlwifi-empty-overflow-queue-during-flush.patch
queue-6.1/wifi-iwlwifi-use-fw-rate-for-non-data-frames.patch [deleted file]
queue-6.5/series
queue-6.5/wifi-iwlwifi-empty-overflow-queue-during-flush.patch
queue-6.5/wifi-iwlwifi-mvm-change-iwl_mvm_flush_sta-api.patch
queue-6.5/wifi-iwlwifi-use-fw-rate-for-non-data-frames.patch [deleted file]
queue-6.6/series
queue-6.6/wifi-iwlwifi-empty-overflow-queue-during-flush.patch
queue-6.6/wifi-iwlwifi-mvm-change-iwl_mvm_flush_sta-api.patch
queue-6.6/wifi-iwlwifi-use-fw-rate-for-non-data-frames.patch [deleted file]

index 80abe0e72db30f3f7a7972bcdb15e3464f522f47..86f25be0e83767c7cf72fa2bb9adb9071f2b73f7 100644 (file)
@@ -7,7 +7,6 @@ x86-boot-fix-incorrect-startup_gdt_descr.size.patch
 pstore-platform-add-check-for-kstrdup.patch
 genirq-matrix-exclude-managed-interrupts-in-irq_matr.patch
 i40e-fix-potential-memory-leaks-in-i40e_remove.patch
-wifi-iwlwifi-use-fw-rate-for-non-data-frames.patch
 udp-add-missing-write_once-around-up-encap_rcv.patch
 tcp-call-tcp_try_undo_recovery-when-an-rtod-tfo-syna.patch
 overflow-implement-size_t-saturating-arithmetic-help.patch
diff --git a/queue-5.10/wifi-iwlwifi-use-fw-rate-for-non-data-frames.patch b/queue-5.10/wifi-iwlwifi-use-fw-rate-for-non-data-frames.patch
deleted file mode 100644 (file)
index e34c7c5..0000000
+++ /dev/null
@@ -1,64 +0,0 @@
-From 3c2f389e124ad826a72bed5008916b62f5d86108 Mon Sep 17 00:00:00 2001
-From: Sasha Levin <sashal@kernel.org>
-Date: Wed, 13 Sep 2023 14:56:45 +0300
-Subject: wifi: iwlwifi: Use FW rate for non-data frames
-
-From: Miri Korenblit <miriam.rachel.korenblit@intel.com>
-
-[ Upstream commit 499d02790495958506a64f37ceda7e97345a50a8 ]
-
-Currently we are setting the rate in the tx cmd for
-mgmt frames (e.g. during connection establishment).
-This was problematic when sending mgmt frames in eSR mode,
-as we don't know what link this frame will be sent on
-(This is decided by the FW), so we don't know what is the
-lowest rate.
-Fix this by not setting the rate in tx cmd and rely
-on FW to choose the right one.
-Set rate only for injected frames with fixed rate,
-or when no sta is given.
-Also set for important frames (EAPOL etc.) the High Priority flag.
-
-Fixes: 055b22e770dd ("iwlwifi: mvm: Set Tx rate and flags when there is not station")
-Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com>
-Signed-off-by: Gregory Greenman <gregory.greenman@intel.com>
-Link: https://lore.kernel.org/r/20230913145231.6c7e59620ee0.I6eaed3ccdd6dd62b9e664facc484081fc5275843@changeid
-Signed-off-by: Johannes Berg <johannes.berg@intel.com>
-Signed-off-by: Sasha Levin <sashal@kernel.org>
----
- drivers/net/wireless/intel/iwlwifi/mvm/tx.c | 14 +++++++++-----
- 1 file changed, 9 insertions(+), 5 deletions(-)
-
-diff --git a/drivers/net/wireless/intel/iwlwifi/mvm/tx.c b/drivers/net/wireless/intel/iwlwifi/mvm/tx.c
-index d310337b16251..99150fec151b8 100644
---- a/drivers/net/wireless/intel/iwlwifi/mvm/tx.c
-+++ b/drivers/net/wireless/intel/iwlwifi/mvm/tx.c
-@@ -532,16 +532,20 @@ iwl_mvm_set_tx_params(struct iwl_mvm *mvm, struct sk_buff *skb,
-                       flags |= IWL_TX_FLAGS_ENCRYPT_DIS;
-               /*
--               * For data packets rate info comes from the fw. Only
--               * set rate/antenna during connection establishment or in case
--               * no station is given.
-+               * For data and mgmt packets rate info comes from the fw. Only
-+               * set rate/antenna for injected frames with fixed rate, or
-+               * when no sta is given.
-                */
--              if (!sta || !ieee80211_is_data(hdr->frame_control) ||
--                  mvmsta->sta_state < IEEE80211_STA_AUTHORIZED) {
-+              if (unlikely(!sta ||
-+                           info->control.flags & IEEE80211_TX_CTRL_RATE_INJECT)) {
-                       flags |= IWL_TX_FLAGS_CMD_RATE;
-                       rate_n_flags =
-                               iwl_mvm_get_tx_rate_n_flags(mvm, info, sta,
-                                                           hdr->frame_control);
-+              } else if (!ieee80211_is_data(hdr->frame_control) ||
-+                         mvmsta->sta_state < IEEE80211_STA_AUTHORIZED) {
-+                      /* These are important frames */
-+                      flags |= IWL_TX_FLAGS_HIGH_PRI;
-               }
-               if (mvm->trans->trans_cfg->device_family >=
--- 
-2.42.0
-
index f2053f87c4f7c67e55ac717b67f879902e32e6a6..385a078e3cda191a16dfb022a77ab530b1006538 100644 (file)
@@ -13,7 +13,6 @@ genirq-matrix-exclude-managed-interrupts-in-irq_matr.patch
 i40e-fix-potential-memory-leaks-in-i40e_remove.patch
 selftests-bpf-test-tail-call-counting-with-bpf2bpf-a.patch
 selftests-bpf-correct-map_fd-to-data_fd-in-tailcalls.patch
-wifi-iwlwifi-use-fw-rate-for-non-data-frames.patch
 udp-add-missing-write_once-around-up-encap_rcv.patch
 tcp-call-tcp_try_undo_recovery-when-an-rtod-tfo-syna.patch
 gve-use-size_add-in-call-to-struct_size.patch
index 59b2ac208b291e0d72a0562591a650958058ea3c..bba74c81f17552df8d49ee03a1b4312f08136333 100644 (file)
@@ -91,7 +91,7 @@ Signed-off-by: Sasha Levin <sashal@kernel.org>
  static inline void iwl_trans_set_q_ptrs(struct iwl_trans *trans, int queue,
 --- a/drivers/net/wireless/intel/iwlwifi/mvm/tx.c
 +++ b/drivers/net/wireless/intel/iwlwifi/mvm/tx.c
-@@ -1436,7 +1436,7 @@ static void iwl_mvm_rx_tx_cmd_single(str
+@@ -1432,7 +1432,7 @@ static void iwl_mvm_rx_tx_cmd_single(str
        seq_ctl = le16_to_cpu(tx_resp->seq_ctl);
  
        /* we can free until ssn % q.n_bd not inclusive */
@@ -100,7 +100,7 @@ Signed-off-by: Sasha Levin <sashal@kernel.org>
  
        while (!skb_queue_empty(&skbs)) {
                struct sk_buff *skb = __skb_dequeue(&skbs);
-@@ -1781,7 +1781,7 @@ static void iwl_mvm_tx_reclaim(struct iw
+@@ -1777,7 +1777,7 @@ static void iwl_mvm_tx_reclaim(struct iw
         * block-ack window (we assume that they've been successfully
         * transmitted ... if not, it's too late anyway).
         */
diff --git a/queue-5.15/wifi-iwlwifi-use-fw-rate-for-non-data-frames.patch b/queue-5.15/wifi-iwlwifi-use-fw-rate-for-non-data-frames.patch
deleted file mode 100644 (file)
index dbbccec..0000000
+++ /dev/null
@@ -1,64 +0,0 @@
-From e6fd3bc394c77358025424a510f61d5c0184e39b Mon Sep 17 00:00:00 2001
-From: Sasha Levin <sashal@kernel.org>
-Date: Wed, 13 Sep 2023 14:56:45 +0300
-Subject: wifi: iwlwifi: Use FW rate for non-data frames
-
-From: Miri Korenblit <miriam.rachel.korenblit@intel.com>
-
-[ Upstream commit 499d02790495958506a64f37ceda7e97345a50a8 ]
-
-Currently we are setting the rate in the tx cmd for
-mgmt frames (e.g. during connection establishment).
-This was problematic when sending mgmt frames in eSR mode,
-as we don't know what link this frame will be sent on
-(This is decided by the FW), so we don't know what is the
-lowest rate.
-Fix this by not setting the rate in tx cmd and rely
-on FW to choose the right one.
-Set rate only for injected frames with fixed rate,
-or when no sta is given.
-Also set for important frames (EAPOL etc.) the High Priority flag.
-
-Fixes: 055b22e770dd ("iwlwifi: mvm: Set Tx rate and flags when there is not station")
-Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com>
-Signed-off-by: Gregory Greenman <gregory.greenman@intel.com>
-Link: https://lore.kernel.org/r/20230913145231.6c7e59620ee0.I6eaed3ccdd6dd62b9e664facc484081fc5275843@changeid
-Signed-off-by: Johannes Berg <johannes.berg@intel.com>
-Signed-off-by: Sasha Levin <sashal@kernel.org>
----
- drivers/net/wireless/intel/iwlwifi/mvm/tx.c | 14 +++++++++-----
- 1 file changed, 9 insertions(+), 5 deletions(-)
-
-diff --git a/drivers/net/wireless/intel/iwlwifi/mvm/tx.c b/drivers/net/wireless/intel/iwlwifi/mvm/tx.c
-index b127e0b527ce0..5304edd351db2 100644
---- a/drivers/net/wireless/intel/iwlwifi/mvm/tx.c
-+++ b/drivers/net/wireless/intel/iwlwifi/mvm/tx.c
-@@ -479,16 +479,20 @@ iwl_mvm_set_tx_params(struct iwl_mvm *mvm, struct sk_buff *skb,
-                       flags |= IWL_TX_FLAGS_ENCRYPT_DIS;
-               /*
--               * For data packets rate info comes from the fw. Only
--               * set rate/antenna during connection establishment or in case
--               * no station is given.
-+               * For data and mgmt packets rate info comes from the fw. Only
-+               * set rate/antenna for injected frames with fixed rate, or
-+               * when no sta is given.
-                */
--              if (!sta || !ieee80211_is_data(hdr->frame_control) ||
--                  mvmsta->sta_state < IEEE80211_STA_AUTHORIZED) {
-+              if (unlikely(!sta ||
-+                           info->control.flags & IEEE80211_TX_CTRL_RATE_INJECT)) {
-                       flags |= IWL_TX_FLAGS_CMD_RATE;
-                       rate_n_flags =
-                               iwl_mvm_get_tx_rate_n_flags(mvm, info, sta,
-                                                           hdr->frame_control);
-+              } else if (!ieee80211_is_data(hdr->frame_control) ||
-+                         mvmsta->sta_state < IEEE80211_STA_AUTHORIZED) {
-+                      /* These are important frames */
-+                      flags |= IWL_TX_FLAGS_HIGH_PRI;
-               }
-               if (mvm->trans->trans_cfg->device_family >=
--- 
-2.42.0
-
index 0c8c4e507964075ca96a94d1fe9198b2529cab7d..1d27263d04a0e6a5d353f910f48ccf8236a94c87 100644 (file)
@@ -53,14 +53,12 @@ Reviewed-by: Vishal Verma <vishal.l.verma@intel.com>
 Signed-off-by: Ira Weiny <ira.weiny@intel.com>
 Signed-off-by: Sasha Levin <sashal@kernel.org>
 ---
- drivers/nvdimm/region_devs.c | 8 ++++----
+ drivers/nvdimm/region_devs.c |    8 ++++----
  1 file changed, 4 insertions(+), 4 deletions(-)
 
-diff --git a/drivers/nvdimm/region_devs.c b/drivers/nvdimm/region_devs.c
-index aac6708d33caa..c79e4219f14dd 100644
 --- a/drivers/nvdimm/region_devs.c
 +++ b/drivers/nvdimm/region_devs.c
-@@ -907,7 +907,8 @@ unsigned int nd_region_acquire_lane(struct nd_region *nd_region)
+@@ -898,7 +898,8 @@ unsigned int nd_region_acquire_lane(stru
  {
        unsigned int cpu, lane;
  
@@ -70,7 +68,7 @@ index aac6708d33caa..c79e4219f14dd 100644
        if (nd_region->num_lanes < nr_cpu_ids) {
                struct nd_percpu_lane *ndl_lock, *ndl_count;
  
-@@ -926,16 +927,15 @@ EXPORT_SYMBOL(nd_region_acquire_lane);
+@@ -917,16 +918,15 @@ EXPORT_SYMBOL(nd_region_acquire_lane);
  void nd_region_release_lane(struct nd_region *nd_region, unsigned int lane)
  {
        if (nd_region->num_lanes < nr_cpu_ids) {
@@ -89,6 +87,3 @@ index aac6708d33caa..c79e4219f14dd 100644
  }
  EXPORT_SYMBOL(nd_region_release_lane);
  
--- 
-2.42.0
-
index 3ff2ee4d7897545725516279e358eae672962f47..e3468f78772847bda8661b8f11a6f57f2f0ece71 100644 (file)
@@ -1,7 +1,6 @@
 vfs-fix-readahead-2-on-block-devices.patch
 genirq-matrix-exclude-managed-interrupts-in-irq_matr.patch
 i40e-fix-potential-memory-leaks-in-i40e_remove.patch
-wifi-iwlwifi-use-fw-rate-for-non-data-frames.patch
 tcp-call-tcp_try_undo_recovery-when-an-rtod-tfo-syna.patch
 wifi-rtw88-debug-fix-the-null-vs-is_err-bug-for-debu.patch
 wifi-mt76-mt7603-rework-fix-rx-pse-hang-check.patch
diff --git a/queue-5.4/wifi-iwlwifi-use-fw-rate-for-non-data-frames.patch b/queue-5.4/wifi-iwlwifi-use-fw-rate-for-non-data-frames.patch
deleted file mode 100644 (file)
index 69c8b65..0000000
+++ /dev/null
@@ -1,64 +0,0 @@
-From 56502033b1691507df050e88d1297e04fb81ed15 Mon Sep 17 00:00:00 2001
-From: Sasha Levin <sashal@kernel.org>
-Date: Wed, 13 Sep 2023 14:56:45 +0300
-Subject: wifi: iwlwifi: Use FW rate for non-data frames
-
-From: Miri Korenblit <miriam.rachel.korenblit@intel.com>
-
-[ Upstream commit 499d02790495958506a64f37ceda7e97345a50a8 ]
-
-Currently we are setting the rate in the tx cmd for
-mgmt frames (e.g. during connection establishment).
-This was problematic when sending mgmt frames in eSR mode,
-as we don't know what link this frame will be sent on
-(This is decided by the FW), so we don't know what is the
-lowest rate.
-Fix this by not setting the rate in tx cmd and rely
-on FW to choose the right one.
-Set rate only for injected frames with fixed rate,
-or when no sta is given.
-Also set for important frames (EAPOL etc.) the High Priority flag.
-
-Fixes: 055b22e770dd ("iwlwifi: mvm: Set Tx rate and flags when there is not station")
-Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com>
-Signed-off-by: Gregory Greenman <gregory.greenman@intel.com>
-Link: https://lore.kernel.org/r/20230913145231.6c7e59620ee0.I6eaed3ccdd6dd62b9e664facc484081fc5275843@changeid
-Signed-off-by: Johannes Berg <johannes.berg@intel.com>
-Signed-off-by: Sasha Levin <sashal@kernel.org>
----
- drivers/net/wireless/intel/iwlwifi/mvm/tx.c | 14 +++++++++-----
- 1 file changed, 9 insertions(+), 5 deletions(-)
-
-diff --git a/drivers/net/wireless/intel/iwlwifi/mvm/tx.c b/drivers/net/wireless/intel/iwlwifi/mvm/tx.c
-index 9a81ce299d0d1..fbcd46aedade3 100644
---- a/drivers/net/wireless/intel/iwlwifi/mvm/tx.c
-+++ b/drivers/net/wireless/intel/iwlwifi/mvm/tx.c
-@@ -529,16 +529,20 @@ iwl_mvm_set_tx_params(struct iwl_mvm *mvm, struct sk_buff *skb,
-                       flags |= IWL_TX_FLAGS_ENCRYPT_DIS;
-               /*
--               * For data packets rate info comes from the fw. Only
--               * set rate/antenna during connection establishment or in case
--               * no station is given.
-+               * For data and mgmt packets rate info comes from the fw. Only
-+               * set rate/antenna for injected frames with fixed rate, or
-+               * when no sta is given.
-                */
--              if (!sta || !ieee80211_is_data(hdr->frame_control) ||
--                  mvmsta->sta_state < IEEE80211_STA_AUTHORIZED) {
-+              if (unlikely(!sta ||
-+                           info->control.flags & IEEE80211_TX_CTRL_RATE_INJECT)) {
-                       flags |= IWL_TX_FLAGS_CMD_RATE;
-                       rate_n_flags =
-                               iwl_mvm_get_tx_rate_n_flags(mvm, info, sta,
-                                                           hdr->frame_control);
-+              } else if (!ieee80211_is_data(hdr->frame_control) ||
-+                         mvmsta->sta_state < IEEE80211_STA_AUTHORIZED) {
-+                      /* These are important frames */
-+                      flags |= IWL_TX_FLAGS_HIGH_PRI;
-               }
-               if (mvm->trans->trans_cfg->device_family >=
--- 
-2.42.0
-
index 09004dfb72deda94bf7bda8acf17cc0f9ddaa8b5..36477af968bf95218523318a27e1462ea2598925 100644 (file)
@@ -27,7 +27,6 @@ wifi-iwlwifi-honor-the-enable_ini-value.patch
 i40e-fix-potential-memory-leaks-in-i40e_remove.patch
 iavf-fix-promiscuous-mode-configuration-flow-message.patch
 selftests-bpf-correct-map_fd-to-data_fd-in-tailcalls.patch
-wifi-iwlwifi-use-fw-rate-for-non-data-frames.patch
 udp-add-missing-write_once-around-up-encap_rcv.patch
 tcp-call-tcp_try_undo_recovery-when-an-rtod-tfo-syna.patch
 gve-use-size_add-in-call-to-struct_size.patch
index 9a661d1f02121866338358246e9815427297f47d..fdcc62e5a77b6c411ca0a46ff1656899ef2b18c7 100644 (file)
@@ -25,15 +25,13 @@ Link: https://lore.kernel.org/r/20231022173519.caf06c8709d9.Ibf664ccb3f952e836f8
 Signed-off-by: Johannes Berg <johannes.berg@intel.com>
 Signed-off-by: Sasha Levin <sashal@kernel.org>
 ---
- drivers/net/wireless/intel/iwlwifi/dvm/tx.c    | 5 +++--
- drivers/net/wireless/intel/iwlwifi/iwl-trans.h | 7 ++++---
- drivers/net/wireless/intel/iwlwifi/mvm/tx.c    | 4 ++--
- drivers/net/wireless/intel/iwlwifi/queue/tx.c  | 9 +++++----
- drivers/net/wireless/intel/iwlwifi/queue/tx.h  | 2 +-
+ drivers/net/wireless/intel/iwlwifi/dvm/tx.c    |    5 +++--
+ drivers/net/wireless/intel/iwlwifi/iwl-trans.h |    7 ++++---
+ drivers/net/wireless/intel/iwlwifi/mvm/tx.c    |    4 ++--
+ drivers/net/wireless/intel/iwlwifi/queue/tx.c  |    9 +++++----
+ drivers/net/wireless/intel/iwlwifi/queue/tx.h  |    2 +-
  5 files changed, 15 insertions(+), 12 deletions(-)
 
-diff --git a/drivers/net/wireless/intel/iwlwifi/dvm/tx.c b/drivers/net/wireless/intel/iwlwifi/dvm/tx.c
-index 60a7b61d59aa3..ca1daec641c4f 100644
 --- a/drivers/net/wireless/intel/iwlwifi/dvm/tx.c
 +++ b/drivers/net/wireless/intel/iwlwifi/dvm/tx.c
 @@ -3,6 +3,7 @@
@@ -44,7 +42,7 @@ index 60a7b61d59aa3..ca1daec641c4f 100644
   *****************************************************************************/
  
  #include <linux/kernel.h>
-@@ -1169,7 +1170,7 @@ void iwlagn_rx_reply_tx(struct iwl_priv *priv, struct iwl_rx_cmd_buffer *rxb)
+@@ -1169,7 +1170,7 @@ void iwlagn_rx_reply_tx(struct iwl_priv
                        iwlagn_check_ratid_empty(priv, sta_id, tid);
                }
  
@@ -53,7 +51,7 @@ index 60a7b61d59aa3..ca1daec641c4f 100644
  
                freed = 0;
  
-@@ -1315,7 +1316,7 @@ void iwlagn_rx_reply_compressed_ba(struct iwl_priv *priv,
+@@ -1315,7 +1316,7 @@ void iwlagn_rx_reply_compressed_ba(struc
         * block-ack window (we assume that they've been successfully
         * transmitted ... if not, it's too late anyway). */
        iwl_trans_reclaim(priv->trans, scd_flow, ba_resp_scd_ssn,
@@ -62,8 +60,6 @@ index 60a7b61d59aa3..ca1daec641c4f 100644
  
        IWL_DEBUG_TX_REPLY(priv, "REPLY_COMPRESSED_BA [%d] Received from %pM, "
                           "sta_id = %d\n",
-diff --git a/drivers/net/wireless/intel/iwlwifi/iwl-trans.h b/drivers/net/wireless/intel/iwlwifi/iwl-trans.h
-index c9729e2718dc0..70022cadee35b 100644
 --- a/drivers/net/wireless/intel/iwlwifi/iwl-trans.h
 +++ b/drivers/net/wireless/intel/iwlwifi/iwl-trans.h
 @@ -567,7 +567,7 @@ struct iwl_trans_ops {
@@ -75,7 +71,7 @@ index c9729e2718dc0..70022cadee35b 100644
  
        void (*set_q_ptrs)(struct iwl_trans *trans, int queue, int ptr);
  
-@@ -1191,14 +1191,15 @@ static inline int iwl_trans_tx(struct iwl_trans *trans, struct sk_buff *skb,
+@@ -1191,14 +1191,15 @@ static inline int iwl_trans_tx(struct iw
  }
  
  static inline void iwl_trans_reclaim(struct iwl_trans *trans, int queue,
@@ -93,11 +89,9 @@ index c9729e2718dc0..70022cadee35b 100644
  }
  
  static inline void iwl_trans_set_q_ptrs(struct iwl_trans *trans, int queue,
-diff --git a/drivers/net/wireless/intel/iwlwifi/mvm/tx.c b/drivers/net/wireless/intel/iwlwifi/mvm/tx.c
-index 9804112ea4f79..caaf4d52e2c64 100644
 --- a/drivers/net/wireless/intel/iwlwifi/mvm/tx.c
 +++ b/drivers/net/wireless/intel/iwlwifi/mvm/tx.c
-@@ -1576,7 +1576,7 @@ static void iwl_mvm_rx_tx_cmd_single(struct iwl_mvm *mvm,
+@@ -1572,7 +1572,7 @@ static void iwl_mvm_rx_tx_cmd_single(str
        seq_ctl = le16_to_cpu(tx_resp->seq_ctl);
  
        /* we can free until ssn % q.n_bd not inclusive */
@@ -106,7 +100,7 @@ index 9804112ea4f79..caaf4d52e2c64 100644
  
        while (!skb_queue_empty(&skbs)) {
                struct sk_buff *skb = __skb_dequeue(&skbs);
-@@ -1927,7 +1927,7 @@ static void iwl_mvm_tx_reclaim(struct iwl_mvm *mvm, int sta_id, int tid,
+@@ -1923,7 +1923,7 @@ static void iwl_mvm_tx_reclaim(struct iw
         * block-ack window (we assume that they've been successfully
         * transmitted ... if not, it's too late anyway).
         */
@@ -115,11 +109,9 @@ index 9804112ea4f79..caaf4d52e2c64 100644
  
        skb_queue_walk(&reclaimed_skbs, skb) {
                struct ieee80211_tx_info *info = IEEE80211_SKB_CB(skb);
-diff --git a/drivers/net/wireless/intel/iwlwifi/queue/tx.c b/drivers/net/wireless/intel/iwlwifi/queue/tx.c
-index 726185d6fab8b..8cf206837eeea 100644
 --- a/drivers/net/wireless/intel/iwlwifi/queue/tx.c
 +++ b/drivers/net/wireless/intel/iwlwifi/queue/tx.c
-@@ -1551,7 +1551,7 @@ void iwl_txq_progress(struct iwl_txq *txq)
+@@ -1551,7 +1551,7 @@ void iwl_txq_progress(struct iwl_txq *tx
  
  /* Frees buffers until index _not_ inclusive */
  void iwl_txq_reclaim(struct iwl_trans *trans, int txq_id, int ssn,
@@ -128,7 +120,7 @@ index 726185d6fab8b..8cf206837eeea 100644
  {
        struct iwl_txq *txq = trans->txqs.txq[txq_id];
        int tfd_num = iwl_txq_get_cmd_index(txq, ssn);
-@@ -1622,9 +1622,11 @@ void iwl_txq_reclaim(struct iwl_trans *trans, int txq_id, int ssn,
+@@ -1622,9 +1622,11 @@ void iwl_txq_reclaim(struct iwl_trans *t
        if (iwl_txq_space(trans, txq) > txq->low_mark &&
            test_bit(txq_id, trans->txqs.queue_stopped)) {
                struct sk_buff_head overflow_skbs;
@@ -141,7 +133,7 @@ index 726185d6fab8b..8cf206837eeea 100644
  
                /*
                 * We are going to transmit from the overflow queue.
-@@ -1644,8 +1646,7 @@ void iwl_txq_reclaim(struct iwl_trans *trans, int txq_id, int ssn,
+@@ -1644,8 +1646,7 @@ void iwl_txq_reclaim(struct iwl_trans *t
                 */
                spin_unlock_bh(&txq->lock);
  
@@ -151,11 +143,9 @@ index 726185d6fab8b..8cf206837eeea 100644
                        struct iwl_device_tx_cmd *dev_cmd_ptr;
  
                        dev_cmd_ptr = *(void **)((u8 *)skb->cb +
-diff --git a/drivers/net/wireless/intel/iwlwifi/queue/tx.h b/drivers/net/wireless/intel/iwlwifi/queue/tx.h
-index eca53bfd326d1..ceb6812fe20b2 100644
 --- a/drivers/net/wireless/intel/iwlwifi/queue/tx.h
 +++ b/drivers/net/wireless/intel/iwlwifi/queue/tx.h
-@@ -173,7 +173,7 @@ void iwl_txq_gen1_update_byte_cnt_tbl(struct iwl_trans *trans,
+@@ -173,7 +173,7 @@ void iwl_txq_gen1_update_byte_cnt_tbl(st
                                      struct iwl_txq *txq, u16 byte_cnt,
                                      int num_tbs);
  void iwl_txq_reclaim(struct iwl_trans *trans, int txq_id, int ssn,
@@ -164,6 +154,3 @@ index eca53bfd326d1..ceb6812fe20b2 100644
  void iwl_txq_set_q_ptrs(struct iwl_trans *trans, int txq_id, int ptr);
  void iwl_trans_txq_freeze_timer(struct iwl_trans *trans, unsigned long txqs,
                                bool freeze);
--- 
-2.42.0
-
diff --git a/queue-6.1/wifi-iwlwifi-use-fw-rate-for-non-data-frames.patch b/queue-6.1/wifi-iwlwifi-use-fw-rate-for-non-data-frames.patch
deleted file mode 100644 (file)
index 888ff93..0000000
+++ /dev/null
@@ -1,64 +0,0 @@
-From a886066cf838d993cf98867a6da57bb00c41c3c9 Mon Sep 17 00:00:00 2001
-From: Sasha Levin <sashal@kernel.org>
-Date: Wed, 13 Sep 2023 14:56:45 +0300
-Subject: wifi: iwlwifi: Use FW rate for non-data frames
-
-From: Miri Korenblit <miriam.rachel.korenblit@intel.com>
-
-[ Upstream commit 499d02790495958506a64f37ceda7e97345a50a8 ]
-
-Currently we are setting the rate in the tx cmd for
-mgmt frames (e.g. during connection establishment).
-This was problematic when sending mgmt frames in eSR mode,
-as we don't know what link this frame will be sent on
-(This is decided by the FW), so we don't know what is the
-lowest rate.
-Fix this by not setting the rate in tx cmd and rely
-on FW to choose the right one.
-Set rate only for injected frames with fixed rate,
-or when no sta is given.
-Also set for important frames (EAPOL etc.) the High Priority flag.
-
-Fixes: 055b22e770dd ("iwlwifi: mvm: Set Tx rate and flags when there is not station")
-Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com>
-Signed-off-by: Gregory Greenman <gregory.greenman@intel.com>
-Link: https://lore.kernel.org/r/20230913145231.6c7e59620ee0.I6eaed3ccdd6dd62b9e664facc484081fc5275843@changeid
-Signed-off-by: Johannes Berg <johannes.berg@intel.com>
-Signed-off-by: Sasha Levin <sashal@kernel.org>
----
- drivers/net/wireless/intel/iwlwifi/mvm/tx.c | 14 +++++++++-----
- 1 file changed, 9 insertions(+), 5 deletions(-)
-
-diff --git a/drivers/net/wireless/intel/iwlwifi/mvm/tx.c b/drivers/net/wireless/intel/iwlwifi/mvm/tx.c
-index 2d01f6226b7c6..9804112ea4f79 100644
---- a/drivers/net/wireless/intel/iwlwifi/mvm/tx.c
-+++ b/drivers/net/wireless/intel/iwlwifi/mvm/tx.c
-@@ -524,16 +524,20 @@ iwl_mvm_set_tx_params(struct iwl_mvm *mvm, struct sk_buff *skb,
-                       flags |= IWL_TX_FLAGS_ENCRYPT_DIS;
-               /*
--               * For data packets rate info comes from the fw. Only
--               * set rate/antenna during connection establishment or in case
--               * no station is given.
-+               * For data and mgmt packets rate info comes from the fw. Only
-+               * set rate/antenna for injected frames with fixed rate, or
-+               * when no sta is given.
-                */
--              if (!sta || !ieee80211_is_data(hdr->frame_control) ||
--                  mvmsta->sta_state < IEEE80211_STA_AUTHORIZED) {
-+              if (unlikely(!sta ||
-+                           info->control.flags & IEEE80211_TX_CTRL_RATE_INJECT)) {
-                       flags |= IWL_TX_FLAGS_CMD_RATE;
-                       rate_n_flags =
-                               iwl_mvm_get_tx_rate_n_flags(mvm, info, sta,
-                                                           hdr->frame_control);
-+              } else if (!ieee80211_is_data(hdr->frame_control) ||
-+                         mvmsta->sta_state < IEEE80211_STA_AUTHORIZED) {
-+                      /* These are important frames */
-+                      flags |= IWL_TX_FLAGS_HIGH_PRI;
-               }
-               if (mvm->trans->trans_cfg->device_family >=
--- 
-2.42.0
-
index cab49252dc1cdc15f1f7338c7b3180f214863e25..44cc3973168522ea7224980fd195d95a26e7a55f 100644 (file)
@@ -52,7 +52,6 @@ bpf-x86-save-restore-regs-with-bpf_dw-size.patch
 bpf-x86-allow-function-arguments-up-to-12-for-tracin.patch
 bpf-x64-fix-tailcall-infinite-loop.patch
 wifi-cfg80211-fix-kernel-doc-for-wiphy_delayed_work_.patch
-wifi-iwlwifi-use-fw-rate-for-non-data-frames.patch
 udp-introduce-udp-udp_flags.patch
 udp-move-udp-no_check6_tx-to-udp-udp_flags.patch
 udp-move-udp-no_check6_rx-to-udp-udp_flags.patch
index 1ec4f26aac797eff71a4feb146dd7ca1efd1bbbb..63d7e5a1dfddb993f3c802d7498b0a51a2c9e06f 100644 (file)
@@ -25,15 +25,13 @@ Link: https://lore.kernel.org/r/20231022173519.caf06c8709d9.Ibf664ccb3f952e836f8
 Signed-off-by: Johannes Berg <johannes.berg@intel.com>
 Signed-off-by: Sasha Levin <sashal@kernel.org>
 ---
- drivers/net/wireless/intel/iwlwifi/dvm/tx.c    | 5 +++--
- drivers/net/wireless/intel/iwlwifi/iwl-trans.h | 7 ++++---
- drivers/net/wireless/intel/iwlwifi/mvm/tx.c    | 4 ++--
- drivers/net/wireless/intel/iwlwifi/queue/tx.c  | 9 +++++----
- drivers/net/wireless/intel/iwlwifi/queue/tx.h  | 2 +-
+ drivers/net/wireless/intel/iwlwifi/dvm/tx.c    |    5 +++--
+ drivers/net/wireless/intel/iwlwifi/iwl-trans.h |    7 ++++---
+ drivers/net/wireless/intel/iwlwifi/mvm/tx.c    |    4 ++--
+ drivers/net/wireless/intel/iwlwifi/queue/tx.c  |    9 +++++----
+ drivers/net/wireless/intel/iwlwifi/queue/tx.h  |    2 +-
  5 files changed, 15 insertions(+), 12 deletions(-)
 
-diff --git a/drivers/net/wireless/intel/iwlwifi/dvm/tx.c b/drivers/net/wireless/intel/iwlwifi/dvm/tx.c
-index 60a7b61d59aa3..ca1daec641c4f 100644
 --- a/drivers/net/wireless/intel/iwlwifi/dvm/tx.c
 +++ b/drivers/net/wireless/intel/iwlwifi/dvm/tx.c
 @@ -3,6 +3,7 @@
@@ -44,7 +42,7 @@ index 60a7b61d59aa3..ca1daec641c4f 100644
   *****************************************************************************/
  
  #include <linux/kernel.h>
-@@ -1169,7 +1170,7 @@ void iwlagn_rx_reply_tx(struct iwl_priv *priv, struct iwl_rx_cmd_buffer *rxb)
+@@ -1169,7 +1170,7 @@ void iwlagn_rx_reply_tx(struct iwl_priv
                        iwlagn_check_ratid_empty(priv, sta_id, tid);
                }
  
@@ -53,7 +51,7 @@ index 60a7b61d59aa3..ca1daec641c4f 100644
  
                freed = 0;
  
-@@ -1315,7 +1316,7 @@ void iwlagn_rx_reply_compressed_ba(struct iwl_priv *priv,
+@@ -1315,7 +1316,7 @@ void iwlagn_rx_reply_compressed_ba(struc
         * block-ack window (we assume that they've been successfully
         * transmitted ... if not, it's too late anyway). */
        iwl_trans_reclaim(priv->trans, scd_flow, ba_resp_scd_ssn,
@@ -62,8 +60,6 @@ index 60a7b61d59aa3..ca1daec641c4f 100644
  
        IWL_DEBUG_TX_REPLY(priv, "REPLY_COMPRESSED_BA [%d] Received from %pM, "
                           "sta_id = %d\n",
-diff --git a/drivers/net/wireless/intel/iwlwifi/iwl-trans.h b/drivers/net/wireless/intel/iwlwifi/iwl-trans.h
-index b248944e11df9..b1a4be0069a7e 100644
 --- a/drivers/net/wireless/intel/iwlwifi/iwl-trans.h
 +++ b/drivers/net/wireless/intel/iwlwifi/iwl-trans.h
 @@ -588,7 +588,7 @@ struct iwl_trans_ops {
@@ -75,7 +71,7 @@ index b248944e11df9..b1a4be0069a7e 100644
  
        void (*set_q_ptrs)(struct iwl_trans *trans, int queue, int ptr);
  
-@@ -1270,14 +1270,15 @@ static inline int iwl_trans_tx(struct iwl_trans *trans, struct sk_buff *skb,
+@@ -1270,14 +1270,15 @@ static inline int iwl_trans_tx(struct iw
  }
  
  static inline void iwl_trans_reclaim(struct iwl_trans *trans, int queue,
@@ -93,11 +89,9 @@ index b248944e11df9..b1a4be0069a7e 100644
  }
  
  static inline void iwl_trans_set_q_ptrs(struct iwl_trans *trans, int queue,
-diff --git a/drivers/net/wireless/intel/iwlwifi/mvm/tx.c b/drivers/net/wireless/intel/iwlwifi/mvm/tx.c
-index 8bdb239295c39..177a4628a913e 100644
 --- a/drivers/net/wireless/intel/iwlwifi/mvm/tx.c
 +++ b/drivers/net/wireless/intel/iwlwifi/mvm/tx.c
-@@ -1603,7 +1603,7 @@ static void iwl_mvm_rx_tx_cmd_single(struct iwl_mvm *mvm,
+@@ -1599,7 +1599,7 @@ static void iwl_mvm_rx_tx_cmd_single(str
        seq_ctl = le16_to_cpu(tx_resp->seq_ctl);
  
        /* we can free until ssn % q.n_bd not inclusive */
@@ -106,7 +100,7 @@ index 8bdb239295c39..177a4628a913e 100644
  
        while (!skb_queue_empty(&skbs)) {
                struct sk_buff *skb = __skb_dequeue(&skbs);
-@@ -1955,7 +1955,7 @@ static void iwl_mvm_tx_reclaim(struct iwl_mvm *mvm, int sta_id, int tid,
+@@ -1951,7 +1951,7 @@ static void iwl_mvm_tx_reclaim(struct iw
         * block-ack window (we assume that they've been successfully
         * transmitted ... if not, it's too late anyway).
         */
@@ -115,11 +109,9 @@ index 8bdb239295c39..177a4628a913e 100644
  
        skb_queue_walk(&reclaimed_skbs, skb) {
                struct ieee80211_tx_info *info = IEEE80211_SKB_CB(skb);
-diff --git a/drivers/net/wireless/intel/iwlwifi/queue/tx.c b/drivers/net/wireless/intel/iwlwifi/queue/tx.c
-index 5bb3cc3367c9f..64dedb1d11862 100644
 --- a/drivers/net/wireless/intel/iwlwifi/queue/tx.c
 +++ b/drivers/net/wireless/intel/iwlwifi/queue/tx.c
-@@ -1561,7 +1561,7 @@ void iwl_txq_progress(struct iwl_txq *txq)
+@@ -1561,7 +1561,7 @@ void iwl_txq_progress(struct iwl_txq *tx
  
  /* Frees buffers until index _not_ inclusive */
  void iwl_txq_reclaim(struct iwl_trans *trans, int txq_id, int ssn,
@@ -128,7 +120,7 @@ index 5bb3cc3367c9f..64dedb1d11862 100644
  {
        struct iwl_txq *txq = trans->txqs.txq[txq_id];
        int tfd_num, read_ptr, last_to_free;
-@@ -1636,9 +1636,11 @@ void iwl_txq_reclaim(struct iwl_trans *trans, int txq_id, int ssn,
+@@ -1636,9 +1636,11 @@ void iwl_txq_reclaim(struct iwl_trans *t
        if (iwl_txq_space(trans, txq) > txq->low_mark &&
            test_bit(txq_id, trans->txqs.queue_stopped)) {
                struct sk_buff_head overflow_skbs;
@@ -141,7 +133,7 @@ index 5bb3cc3367c9f..64dedb1d11862 100644
  
                /*
                 * We are going to transmit from the overflow queue.
-@@ -1658,8 +1660,7 @@ void iwl_txq_reclaim(struct iwl_trans *trans, int txq_id, int ssn,
+@@ -1658,8 +1660,7 @@ void iwl_txq_reclaim(struct iwl_trans *t
                 */
                spin_unlock_bh(&txq->lock);
  
@@ -151,11 +143,9 @@ index 5bb3cc3367c9f..64dedb1d11862 100644
                        struct iwl_device_tx_cmd *dev_cmd_ptr;
  
                        dev_cmd_ptr = *(void **)((u8 *)skb->cb +
-diff --git a/drivers/net/wireless/intel/iwlwifi/queue/tx.h b/drivers/net/wireless/intel/iwlwifi/queue/tx.h
-index 1e4a24ab9bab2..b311426c84f05 100644
 --- a/drivers/net/wireless/intel/iwlwifi/queue/tx.h
 +++ b/drivers/net/wireless/intel/iwlwifi/queue/tx.h
-@@ -173,7 +173,7 @@ void iwl_txq_gen1_update_byte_cnt_tbl(struct iwl_trans *trans,
+@@ -173,7 +173,7 @@ void iwl_txq_gen1_update_byte_cnt_tbl(st
                                      struct iwl_txq *txq, u16 byte_cnt,
                                      int num_tbs);
  void iwl_txq_reclaim(struct iwl_trans *trans, int txq_id, int ssn,
@@ -164,6 +154,3 @@ index 1e4a24ab9bab2..b311426c84f05 100644
  void iwl_txq_set_q_ptrs(struct iwl_trans *trans, int txq_id, int ptr);
  void iwl_trans_txq_freeze_timer(struct iwl_trans *trans, unsigned long txqs,
                                bool freeze);
--- 
-2.42.0
-
index b5a993c1b94115f22d7e49b31d45fbde55630808..df3fbdf4ce33ba336b340bfad0093e460154bbcf 100644 (file)
@@ -20,19 +20,17 @@ Signed-off-by: Johannes Berg <johannes.berg@intel.com>
 Stable-dep-of: 43874283ce6c ("wifi: iwlwifi: mvm: fix iwl_mvm_mac_flush_sta()")
 Signed-off-by: Sasha Levin <sashal@kernel.org>
 ---
.../net/wireless/intel/iwlwifi/mvm/mac80211.c  |  6 ++++--
.../net/wireless/intel/iwlwifi/mvm/mld-sta.c   |  2 +-
- drivers/net/wireless/intel/iwlwifi/mvm/mvm.h   |  2 +-
- drivers/net/wireless/intel/iwlwifi/mvm/sta.c   |  9 ++++++---
.../wireless/intel/iwlwifi/mvm/time-event.c    |  7 ++++---
- drivers/net/wireless/intel/iwlwifi/mvm/tx.c    | 18 ++----------------
drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c   |    6 ++++--
drivers/net/wireless/intel/iwlwifi/mvm/mld-sta.c    |    2 +-
+ drivers/net/wireless/intel/iwlwifi/mvm/mvm.h        |    2 +-
+ drivers/net/wireless/intel/iwlwifi/mvm/sta.c        |    9 ++++++---
drivers/net/wireless/intel/iwlwifi/mvm/time-event.c |    7 ++++---
+ drivers/net/wireless/intel/iwlwifi/mvm/tx.c         |   18 ++----------------
  6 files changed, 18 insertions(+), 26 deletions(-)
 
-diff --git a/drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c b/drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c
-index eb1fe0082eaf6..069aba0e064aa 100644
 --- a/drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c
 +++ b/drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c
-@@ -5584,7 +5584,8 @@ void iwl_mvm_mac_flush(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
+@@ -5584,7 +5584,8 @@ void iwl_mvm_mac_flush(struct ieee80211_
                WARN_ON_ONCE(sta != mvmvif->ap_sta && !sta->tdls);
  
                if (drop) {
@@ -42,7 +40,7 @@ index eb1fe0082eaf6..069aba0e064aa 100644
                                IWL_ERR(mvm, "flush request fail\n");
                } else {
                        if (iwl_mvm_has_new_tx_api(mvm))
-@@ -5621,7 +5622,8 @@ void iwl_mvm_mac_flush_sta(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
+@@ -5621,7 +5622,8 @@ void iwl_mvm_mac_flush_sta(struct ieee80
  
                mvmsta = iwl_mvm_sta_from_mac80211(sta);
  
@@ -52,11 +50,9 @@ index eb1fe0082eaf6..069aba0e064aa 100644
                        IWL_ERR(mvm, "flush request fail\n");
        }
        mutex_unlock(&mvm->mutex);
-diff --git a/drivers/net/wireless/intel/iwlwifi/mvm/mld-sta.c b/drivers/net/wireless/intel/iwlwifi/mvm/mld-sta.c
-index 524852cf5cd2d..56f51344c193c 100644
 --- a/drivers/net/wireless/intel/iwlwifi/mvm/mld-sta.c
 +++ b/drivers/net/wireless/intel/iwlwifi/mvm/mld-sta.c
-@@ -347,7 +347,7 @@ static int iwl_mvm_mld_rm_int_sta(struct iwl_mvm *mvm,
+@@ -347,7 +347,7 @@ static int iwl_mvm_mld_rm_int_sta(struct
                return -EINVAL;
  
        if (flush)
@@ -65,11 +61,9 @@ index 524852cf5cd2d..56f51344c193c 100644
  
        iwl_mvm_mld_disable_txq(mvm, BIT(int_sta->sta_id), queuptr, tid);
  
-diff --git a/drivers/net/wireless/intel/iwlwifi/mvm/mvm.h b/drivers/net/wireless/intel/iwlwifi/mvm/mvm.h
-index b596eca562166..218f3bc31104b 100644
 --- a/drivers/net/wireless/intel/iwlwifi/mvm/mvm.h
 +++ b/drivers/net/wireless/intel/iwlwifi/mvm/mvm.h
-@@ -1658,7 +1658,7 @@ const char *iwl_mvm_get_tx_fail_reason(u32 status);
+@@ -1658,7 +1658,7 @@ const char *iwl_mvm_get_tx_fail_reason(u
  static inline const char *iwl_mvm_get_tx_fail_reason(u32 status) { return ""; }
  #endif
  int iwl_mvm_flush_tx_path(struct iwl_mvm *mvm, u32 tfd_msk);
@@ -78,8 +72,6 @@ index b596eca562166..218f3bc31104b 100644
  int iwl_mvm_flush_sta_tids(struct iwl_mvm *mvm, u32 sta_id, u16 tids);
  
  /* Utils to extract sta related data */
-diff --git a/drivers/net/wireless/intel/iwlwifi/mvm/sta.c b/drivers/net/wireless/intel/iwlwifi/mvm/sta.c
-index 3b9a343d4f672..ebbe165510587 100644
 --- a/drivers/net/wireless/intel/iwlwifi/mvm/sta.c
 +++ b/drivers/net/wireless/intel/iwlwifi/mvm/sta.c
 @@ -2097,7 +2097,8 @@ int iwl_mvm_rm_sta(struct iwl_mvm *mvm,
@@ -92,7 +84,7 @@ index 3b9a343d4f672..ebbe165510587 100644
        if (ret)
                return ret;
        if (iwl_mvm_has_new_tx_api(mvm)) {
-@@ -2408,7 +2409,8 @@ void iwl_mvm_free_bcast_sta_queues(struct iwl_mvm *mvm,
+@@ -2408,7 +2409,8 @@ void iwl_mvm_free_bcast_sta_queues(struc
  
        lockdep_assert_held(&mvm->mutex);
  
@@ -102,7 +94,7 @@ index 3b9a343d4f672..ebbe165510587 100644
  
        switch (vif->type) {
        case NL80211_IFTYPE_AP:
-@@ -2664,7 +2666,8 @@ int iwl_mvm_rm_mcast_sta(struct iwl_mvm *mvm, struct ieee80211_vif *vif)
+@@ -2664,7 +2666,8 @@ int iwl_mvm_rm_mcast_sta(struct iwl_mvm
  
        lockdep_assert_held(&mvm->mutex);
  
@@ -112,11 +104,9 @@ index 3b9a343d4f672..ebbe165510587 100644
  
        iwl_mvm_disable_txq(mvm, NULL, mvmvif->deflink.mcast_sta.sta_id,
                            &mvmvif->deflink.cab_queue, 0);
-diff --git a/drivers/net/wireless/intel/iwlwifi/mvm/time-event.c b/drivers/net/wireless/intel/iwlwifi/mvm/time-event.c
-index ff213247569a7..158266719ffd7 100644
 --- a/drivers/net/wireless/intel/iwlwifi/mvm/time-event.c
 +++ b/drivers/net/wireless/intel/iwlwifi/mvm/time-event.c
-@@ -81,8 +81,8 @@ void iwl_mvm_roc_done_wk(struct work_struct *wk)
+@@ -81,8 +81,8 @@ void iwl_mvm_roc_done_wk(struct work_str
                        struct ieee80211_vif *vif = mvm->p2p_device_vif;
  
                        mvmvif = iwl_mvm_vif_from_mac80211(vif);
@@ -127,7 +117,7 @@ index ff213247569a7..158266719ffd7 100644
  
                        if (mvm->mld_api_is_used) {
                                iwl_mvm_mld_rm_bcast_sta(mvm, vif,
-@@ -113,7 +113,8 @@ void iwl_mvm_roc_done_wk(struct work_struct *wk)
+@@ -113,7 +113,8 @@ void iwl_mvm_roc_done_wk(struct work_str
         */
        if (test_and_clear_bit(IWL_MVM_STATUS_ROC_AUX_RUNNING, &mvm->status)) {
                /* do the same in case of hot spot 2.0 */
@@ -137,11 +127,9 @@ index ff213247569a7..158266719ffd7 100644
  
                if (mvm->mld_api_is_used) {
                        iwl_mvm_mld_rm_aux_sta(mvm);
-diff --git a/drivers/net/wireless/intel/iwlwifi/mvm/tx.c b/drivers/net/wireless/intel/iwlwifi/mvm/tx.c
-index 8158e6d9ef190..8bdb239295c39 100644
 --- a/drivers/net/wireless/intel/iwlwifi/mvm/tx.c
 +++ b/drivers/net/wireless/intel/iwlwifi/mvm/tx.c
-@@ -2297,24 +2297,10 @@ int iwl_mvm_flush_sta_tids(struct iwl_mvm *mvm, u32 sta_id, u16 tids)
+@@ -2293,24 +2293,10 @@ free_rsp:
        return ret;
  }
  
@@ -168,6 +156,3 @@ index 8158e6d9ef190..8bdb239295c39 100644
 -      return iwl_mvm_flush_tx_path(mvm, tfd_queue_msk);
 +      return iwl_mvm_flush_tx_path(mvm, tfd_queue_mask);
  }
--- 
-2.42.0
-
diff --git a/queue-6.5/wifi-iwlwifi-use-fw-rate-for-non-data-frames.patch b/queue-6.5/wifi-iwlwifi-use-fw-rate-for-non-data-frames.patch
deleted file mode 100644 (file)
index 614cdee..0000000
+++ /dev/null
@@ -1,64 +0,0 @@
-From eeabb8fca1131ba6c6bdeb89f9b528e463c47501 Mon Sep 17 00:00:00 2001
-From: Sasha Levin <sashal@kernel.org>
-Date: Wed, 13 Sep 2023 14:56:45 +0300
-Subject: wifi: iwlwifi: Use FW rate for non-data frames
-
-From: Miri Korenblit <miriam.rachel.korenblit@intel.com>
-
-[ Upstream commit 499d02790495958506a64f37ceda7e97345a50a8 ]
-
-Currently we are setting the rate in the tx cmd for
-mgmt frames (e.g. during connection establishment).
-This was problematic when sending mgmt frames in eSR mode,
-as we don't know what link this frame will be sent on
-(This is decided by the FW), so we don't know what is the
-lowest rate.
-Fix this by not setting the rate in tx cmd and rely
-on FW to choose the right one.
-Set rate only for injected frames with fixed rate,
-or when no sta is given.
-Also set for important frames (EAPOL etc.) the High Priority flag.
-
-Fixes: 055b22e770dd ("iwlwifi: mvm: Set Tx rate and flags when there is not station")
-Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com>
-Signed-off-by: Gregory Greenman <gregory.greenman@intel.com>
-Link: https://lore.kernel.org/r/20230913145231.6c7e59620ee0.I6eaed3ccdd6dd62b9e664facc484081fc5275843@changeid
-Signed-off-by: Johannes Berg <johannes.berg@intel.com>
-Signed-off-by: Sasha Levin <sashal@kernel.org>
----
- drivers/net/wireless/intel/iwlwifi/mvm/tx.c | 14 +++++++++-----
- 1 file changed, 9 insertions(+), 5 deletions(-)
-
-diff --git a/drivers/net/wireless/intel/iwlwifi/mvm/tx.c b/drivers/net/wireless/intel/iwlwifi/mvm/tx.c
-index 898dca3936435..8158e6d9ef190 100644
---- a/drivers/net/wireless/intel/iwlwifi/mvm/tx.c
-+++ b/drivers/net/wireless/intel/iwlwifi/mvm/tx.c
-@@ -536,16 +536,20 @@ iwl_mvm_set_tx_params(struct iwl_mvm *mvm, struct sk_buff *skb,
-                       flags |= IWL_TX_FLAGS_ENCRYPT_DIS;
-               /*
--               * For data packets rate info comes from the fw. Only
--               * set rate/antenna during connection establishment or in case
--               * no station is given.
-+               * For data and mgmt packets rate info comes from the fw. Only
-+               * set rate/antenna for injected frames with fixed rate, or
-+               * when no sta is given.
-                */
--              if (!sta || !ieee80211_is_data(hdr->frame_control) ||
--                  mvmsta->sta_state < IEEE80211_STA_AUTHORIZED) {
-+              if (unlikely(!sta ||
-+                           info->control.flags & IEEE80211_TX_CTRL_RATE_INJECT)) {
-                       flags |= IWL_TX_FLAGS_CMD_RATE;
-                       rate_n_flags =
-                               iwl_mvm_get_tx_rate_n_flags(mvm, info, sta,
-                                                           hdr->frame_control);
-+              } else if (!ieee80211_is_data(hdr->frame_control) ||
-+                         mvmsta->sta_state < IEEE80211_STA_AUTHORIZED) {
-+                      /* These are important frames */
-+                      flags |= IWL_TX_FLAGS_HIGH_PRI;
-               }
-               if (mvm->trans->trans_cfg->device_family >=
--- 
-2.42.0
-
index 27bd31bc1960097be77a912a248ca2b70be89ca8..e08e3530231ccd95a390b624b3c886aab07b061e 100644 (file)
@@ -49,7 +49,6 @@ iavf-fix-promiscuous-mode-configuration-flow-message.patch
 selftests-bpf-correct-map_fd-to-data_fd-in-tailcalls.patch
 bpf-x64-fix-tailcall-infinite-loop.patch
 wifi-cfg80211-fix-kernel-doc-for-wiphy_delayed_work_.patch
-wifi-iwlwifi-use-fw-rate-for-non-data-frames.patch
 udp-introduce-udp-udp_flags.patch
 udp-move-udp-no_check6_tx-to-udp-udp_flags.patch
 udp-move-udp-no_check6_rx-to-udp-udp_flags.patch
index bf21dd55fb4c841db77c85a6842384c4f504c524..3b75a47e5251a468f0980c4a5efe8e6d49004928 100644 (file)
@@ -25,15 +25,13 @@ Link: https://lore.kernel.org/r/20231022173519.caf06c8709d9.Ibf664ccb3f952e836f8
 Signed-off-by: Johannes Berg <johannes.berg@intel.com>
 Signed-off-by: Sasha Levin <sashal@kernel.org>
 ---
- drivers/net/wireless/intel/iwlwifi/dvm/tx.c    | 5 +++--
- drivers/net/wireless/intel/iwlwifi/iwl-trans.h | 7 ++++---
- drivers/net/wireless/intel/iwlwifi/mvm/tx.c    | 4 ++--
- drivers/net/wireless/intel/iwlwifi/queue/tx.c  | 9 +++++----
- drivers/net/wireless/intel/iwlwifi/queue/tx.h  | 2 +-
+ drivers/net/wireless/intel/iwlwifi/dvm/tx.c    |    5 +++--
+ drivers/net/wireless/intel/iwlwifi/iwl-trans.h |    7 ++++---
+ drivers/net/wireless/intel/iwlwifi/mvm/tx.c    |    4 ++--
+ drivers/net/wireless/intel/iwlwifi/queue/tx.c  |    9 +++++----
+ drivers/net/wireless/intel/iwlwifi/queue/tx.h  |    2 +-
  5 files changed, 15 insertions(+), 12 deletions(-)
 
-diff --git a/drivers/net/wireless/intel/iwlwifi/dvm/tx.c b/drivers/net/wireless/intel/iwlwifi/dvm/tx.c
-index 60a7b61d59aa3..ca1daec641c4f 100644
 --- a/drivers/net/wireless/intel/iwlwifi/dvm/tx.c
 +++ b/drivers/net/wireless/intel/iwlwifi/dvm/tx.c
 @@ -3,6 +3,7 @@
@@ -44,7 +42,7 @@ index 60a7b61d59aa3..ca1daec641c4f 100644
   *****************************************************************************/
  
  #include <linux/kernel.h>
-@@ -1169,7 +1170,7 @@ void iwlagn_rx_reply_tx(struct iwl_priv *priv, struct iwl_rx_cmd_buffer *rxb)
+@@ -1169,7 +1170,7 @@ void iwlagn_rx_reply_tx(struct iwl_priv
                        iwlagn_check_ratid_empty(priv, sta_id, tid);
                }
  
@@ -53,7 +51,7 @@ index 60a7b61d59aa3..ca1daec641c4f 100644
  
                freed = 0;
  
-@@ -1315,7 +1316,7 @@ void iwlagn_rx_reply_compressed_ba(struct iwl_priv *priv,
+@@ -1315,7 +1316,7 @@ void iwlagn_rx_reply_compressed_ba(struc
         * block-ack window (we assume that they've been successfully
         * transmitted ... if not, it's too late anyway). */
        iwl_trans_reclaim(priv->trans, scd_flow, ba_resp_scd_ssn,
@@ -62,8 +60,6 @@ index 60a7b61d59aa3..ca1daec641c4f 100644
  
        IWL_DEBUG_TX_REPLY(priv, "REPLY_COMPRESSED_BA [%d] Received from %pM, "
                           "sta_id = %d\n",
-diff --git a/drivers/net/wireless/intel/iwlwifi/iwl-trans.h b/drivers/net/wireless/intel/iwlwifi/iwl-trans.h
-index 1b3c976d19feb..168eda2132fb8 100644
 --- a/drivers/net/wireless/intel/iwlwifi/iwl-trans.h
 +++ b/drivers/net/wireless/intel/iwlwifi/iwl-trans.h
 @@ -588,7 +588,7 @@ struct iwl_trans_ops {
@@ -75,7 +71,7 @@ index 1b3c976d19feb..168eda2132fb8 100644
  
        void (*set_q_ptrs)(struct iwl_trans *trans, int queue, int ptr);
  
-@@ -1273,14 +1273,15 @@ static inline int iwl_trans_tx(struct iwl_trans *trans, struct sk_buff *skb,
+@@ -1273,14 +1273,15 @@ static inline int iwl_trans_tx(struct iw
  }
  
  static inline void iwl_trans_reclaim(struct iwl_trans *trans, int queue,
@@ -93,11 +89,9 @@ index 1b3c976d19feb..168eda2132fb8 100644
  }
  
  static inline void iwl_trans_set_q_ptrs(struct iwl_trans *trans, int queue,
-diff --git a/drivers/net/wireless/intel/iwlwifi/mvm/tx.c b/drivers/net/wireless/intel/iwlwifi/mvm/tx.c
-index 8bdb239295c39..177a4628a913e 100644
 --- a/drivers/net/wireless/intel/iwlwifi/mvm/tx.c
 +++ b/drivers/net/wireless/intel/iwlwifi/mvm/tx.c
-@@ -1603,7 +1603,7 @@ static void iwl_mvm_rx_tx_cmd_single(struct iwl_mvm *mvm,
+@@ -1599,7 +1599,7 @@ static void iwl_mvm_rx_tx_cmd_single(str
        seq_ctl = le16_to_cpu(tx_resp->seq_ctl);
  
        /* we can free until ssn % q.n_bd not inclusive */
@@ -106,7 +100,7 @@ index 8bdb239295c39..177a4628a913e 100644
  
        while (!skb_queue_empty(&skbs)) {
                struct sk_buff *skb = __skb_dequeue(&skbs);
-@@ -1955,7 +1955,7 @@ static void iwl_mvm_tx_reclaim(struct iwl_mvm *mvm, int sta_id, int tid,
+@@ -1951,7 +1951,7 @@ static void iwl_mvm_tx_reclaim(struct iw
         * block-ack window (we assume that they've been successfully
         * transmitted ... if not, it's too late anyway).
         */
@@ -115,11 +109,9 @@ index 8bdb239295c39..177a4628a913e 100644
  
        skb_queue_walk(&reclaimed_skbs, skb) {
                struct ieee80211_tx_info *info = IEEE80211_SKB_CB(skb);
-diff --git a/drivers/net/wireless/intel/iwlwifi/queue/tx.c b/drivers/net/wireless/intel/iwlwifi/queue/tx.c
-index 340240b8954f6..ca74b1b63cac1 100644
 --- a/drivers/net/wireless/intel/iwlwifi/queue/tx.c
 +++ b/drivers/net/wireless/intel/iwlwifi/queue/tx.c
-@@ -1575,7 +1575,7 @@ void iwl_txq_progress(struct iwl_txq *txq)
+@@ -1575,7 +1575,7 @@ void iwl_txq_progress(struct iwl_txq *tx
  
  /* Frees buffers until index _not_ inclusive */
  void iwl_txq_reclaim(struct iwl_trans *trans, int txq_id, int ssn,
@@ -128,7 +120,7 @@ index 340240b8954f6..ca74b1b63cac1 100644
  {
        struct iwl_txq *txq = trans->txqs.txq[txq_id];
        int tfd_num, read_ptr, last_to_free;
-@@ -1650,9 +1650,11 @@ void iwl_txq_reclaim(struct iwl_trans *trans, int txq_id, int ssn,
+@@ -1650,9 +1650,11 @@ void iwl_txq_reclaim(struct iwl_trans *t
        if (iwl_txq_space(trans, txq) > txq->low_mark &&
            test_bit(txq_id, trans->txqs.queue_stopped)) {
                struct sk_buff_head overflow_skbs;
@@ -141,7 +133,7 @@ index 340240b8954f6..ca74b1b63cac1 100644
  
                /*
                 * We are going to transmit from the overflow queue.
-@@ -1672,8 +1674,7 @@ void iwl_txq_reclaim(struct iwl_trans *trans, int txq_id, int ssn,
+@@ -1672,8 +1674,7 @@ void iwl_txq_reclaim(struct iwl_trans *t
                 */
                spin_unlock_bh(&txq->lock);
  
@@ -151,11 +143,9 @@ index 340240b8954f6..ca74b1b63cac1 100644
                        struct iwl_device_tx_cmd *dev_cmd_ptr;
  
                        dev_cmd_ptr = *(void **)((u8 *)skb->cb +
-diff --git a/drivers/net/wireless/intel/iwlwifi/queue/tx.h b/drivers/net/wireless/intel/iwlwifi/queue/tx.h
-index b7d3808588bfb..4c09bc1930fa1 100644
 --- a/drivers/net/wireless/intel/iwlwifi/queue/tx.h
 +++ b/drivers/net/wireless/intel/iwlwifi/queue/tx.h
-@@ -179,7 +179,7 @@ void iwl_txq_gen1_update_byte_cnt_tbl(struct iwl_trans *trans,
+@@ -179,7 +179,7 @@ void iwl_txq_gen1_update_byte_cnt_tbl(st
                                      struct iwl_txq *txq, u16 byte_cnt,
                                      int num_tbs);
  void iwl_txq_reclaim(struct iwl_trans *trans, int txq_id, int ssn,
@@ -164,6 +154,3 @@ index b7d3808588bfb..4c09bc1930fa1 100644
  void iwl_txq_set_q_ptrs(struct iwl_trans *trans, int txq_id, int ptr);
  void iwl_trans_txq_freeze_timer(struct iwl_trans *trans, unsigned long txqs,
                                bool freeze);
--- 
-2.42.0
-
index 6182e06fefd9a1b522c10e24f819b7894cf12fc3..45bf6eb053b035ed3ac43c3ed024531c63361515 100644 (file)
@@ -20,19 +20,17 @@ Signed-off-by: Johannes Berg <johannes.berg@intel.com>
 Stable-dep-of: 43874283ce6c ("wifi: iwlwifi: mvm: fix iwl_mvm_mac_flush_sta()")
 Signed-off-by: Sasha Levin <sashal@kernel.org>
 ---
.../net/wireless/intel/iwlwifi/mvm/mac80211.c  |  6 ++++--
.../net/wireless/intel/iwlwifi/mvm/mld-sta.c   |  2 +-
- drivers/net/wireless/intel/iwlwifi/mvm/mvm.h   |  2 +-
- drivers/net/wireless/intel/iwlwifi/mvm/sta.c   |  9 ++++++---
.../wireless/intel/iwlwifi/mvm/time-event.c    |  7 ++++---
- drivers/net/wireless/intel/iwlwifi/mvm/tx.c    | 18 ++----------------
drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c   |    6 ++++--
drivers/net/wireless/intel/iwlwifi/mvm/mld-sta.c    |    2 +-
+ drivers/net/wireless/intel/iwlwifi/mvm/mvm.h        |    2 +-
+ drivers/net/wireless/intel/iwlwifi/mvm/sta.c        |    9 ++++++---
drivers/net/wireless/intel/iwlwifi/mvm/time-event.c |    7 ++++---
+ drivers/net/wireless/intel/iwlwifi/mvm/tx.c         |   18 ++----------------
  6 files changed, 18 insertions(+), 26 deletions(-)
 
-diff --git a/drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c b/drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c
-index a3058d7c77574..e68026a657059 100644
 --- a/drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c
 +++ b/drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c
-@@ -5579,7 +5579,8 @@ void iwl_mvm_mac_flush(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
+@@ -5579,7 +5579,8 @@ void iwl_mvm_mac_flush(struct ieee80211_
                }
  
                if (drop) {
@@ -42,7 +40,7 @@ index a3058d7c77574..e68026a657059 100644
                                IWL_ERR(mvm, "flush request fail\n");
                } else {
                        if (iwl_mvm_has_new_tx_api(mvm))
-@@ -5616,7 +5617,8 @@ void iwl_mvm_mac_flush_sta(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
+@@ -5616,7 +5617,8 @@ void iwl_mvm_mac_flush_sta(struct ieee80
  
                mvmsta = iwl_mvm_sta_from_mac80211(sta);
  
@@ -52,11 +50,9 @@ index a3058d7c77574..e68026a657059 100644
                        IWL_ERR(mvm, "flush request fail\n");
        }
        mutex_unlock(&mvm->mutex);
-diff --git a/drivers/net/wireless/intel/iwlwifi/mvm/mld-sta.c b/drivers/net/wireless/intel/iwlwifi/mvm/mld-sta.c
-index 524852cf5cd2d..56f51344c193c 100644
 --- a/drivers/net/wireless/intel/iwlwifi/mvm/mld-sta.c
 +++ b/drivers/net/wireless/intel/iwlwifi/mvm/mld-sta.c
-@@ -347,7 +347,7 @@ static int iwl_mvm_mld_rm_int_sta(struct iwl_mvm *mvm,
+@@ -347,7 +347,7 @@ static int iwl_mvm_mld_rm_int_sta(struct
                return -EINVAL;
  
        if (flush)
@@ -65,11 +61,9 @@ index 524852cf5cd2d..56f51344c193c 100644
  
        iwl_mvm_mld_disable_txq(mvm, BIT(int_sta->sta_id), queuptr, tid);
  
-diff --git a/drivers/net/wireless/intel/iwlwifi/mvm/mvm.h b/drivers/net/wireless/intel/iwlwifi/mvm/mvm.h
-index b596eca562166..218f3bc31104b 100644
 --- a/drivers/net/wireless/intel/iwlwifi/mvm/mvm.h
 +++ b/drivers/net/wireless/intel/iwlwifi/mvm/mvm.h
-@@ -1658,7 +1658,7 @@ const char *iwl_mvm_get_tx_fail_reason(u32 status);
+@@ -1658,7 +1658,7 @@ const char *iwl_mvm_get_tx_fail_reason(u
  static inline const char *iwl_mvm_get_tx_fail_reason(u32 status) { return ""; }
  #endif
  int iwl_mvm_flush_tx_path(struct iwl_mvm *mvm, u32 tfd_msk);
@@ -78,8 +72,6 @@ index b596eca562166..218f3bc31104b 100644
  int iwl_mvm_flush_sta_tids(struct iwl_mvm *mvm, u32 sta_id, u16 tids);
  
  /* Utils to extract sta related data */
-diff --git a/drivers/net/wireless/intel/iwlwifi/mvm/sta.c b/drivers/net/wireless/intel/iwlwifi/mvm/sta.c
-index 3b9a343d4f672..ebbe165510587 100644
 --- a/drivers/net/wireless/intel/iwlwifi/mvm/sta.c
 +++ b/drivers/net/wireless/intel/iwlwifi/mvm/sta.c
 @@ -2097,7 +2097,8 @@ int iwl_mvm_rm_sta(struct iwl_mvm *mvm,
@@ -92,7 +84,7 @@ index 3b9a343d4f672..ebbe165510587 100644
        if (ret)
                return ret;
        if (iwl_mvm_has_new_tx_api(mvm)) {
-@@ -2408,7 +2409,8 @@ void iwl_mvm_free_bcast_sta_queues(struct iwl_mvm *mvm,
+@@ -2408,7 +2409,8 @@ void iwl_mvm_free_bcast_sta_queues(struc
  
        lockdep_assert_held(&mvm->mutex);
  
@@ -102,7 +94,7 @@ index 3b9a343d4f672..ebbe165510587 100644
  
        switch (vif->type) {
        case NL80211_IFTYPE_AP:
-@@ -2664,7 +2666,8 @@ int iwl_mvm_rm_mcast_sta(struct iwl_mvm *mvm, struct ieee80211_vif *vif)
+@@ -2664,7 +2666,8 @@ int iwl_mvm_rm_mcast_sta(struct iwl_mvm
  
        lockdep_assert_held(&mvm->mutex);
  
@@ -112,11 +104,9 @@ index 3b9a343d4f672..ebbe165510587 100644
  
        iwl_mvm_disable_txq(mvm, NULL, mvmvif->deflink.mcast_sta.sta_id,
                            &mvmvif->deflink.cab_queue, 0);
-diff --git a/drivers/net/wireless/intel/iwlwifi/mvm/time-event.c b/drivers/net/wireless/intel/iwlwifi/mvm/time-event.c
-index ff213247569a7..158266719ffd7 100644
 --- a/drivers/net/wireless/intel/iwlwifi/mvm/time-event.c
 +++ b/drivers/net/wireless/intel/iwlwifi/mvm/time-event.c
-@@ -81,8 +81,8 @@ void iwl_mvm_roc_done_wk(struct work_struct *wk)
+@@ -81,8 +81,8 @@ void iwl_mvm_roc_done_wk(struct work_str
                        struct ieee80211_vif *vif = mvm->p2p_device_vif;
  
                        mvmvif = iwl_mvm_vif_from_mac80211(vif);
@@ -127,7 +117,7 @@ index ff213247569a7..158266719ffd7 100644
  
                        if (mvm->mld_api_is_used) {
                                iwl_mvm_mld_rm_bcast_sta(mvm, vif,
-@@ -113,7 +113,8 @@ void iwl_mvm_roc_done_wk(struct work_struct *wk)
+@@ -113,7 +113,8 @@ void iwl_mvm_roc_done_wk(struct work_str
         */
        if (test_and_clear_bit(IWL_MVM_STATUS_ROC_AUX_RUNNING, &mvm->status)) {
                /* do the same in case of hot spot 2.0 */
@@ -137,11 +127,9 @@ index ff213247569a7..158266719ffd7 100644
  
                if (mvm->mld_api_is_used) {
                        iwl_mvm_mld_rm_aux_sta(mvm);
-diff --git a/drivers/net/wireless/intel/iwlwifi/mvm/tx.c b/drivers/net/wireless/intel/iwlwifi/mvm/tx.c
-index 8158e6d9ef190..8bdb239295c39 100644
 --- a/drivers/net/wireless/intel/iwlwifi/mvm/tx.c
 +++ b/drivers/net/wireless/intel/iwlwifi/mvm/tx.c
-@@ -2297,24 +2297,10 @@ int iwl_mvm_flush_sta_tids(struct iwl_mvm *mvm, u32 sta_id, u16 tids)
+@@ -2293,24 +2293,10 @@ free_rsp:
        return ret;
  }
  
@@ -168,6 +156,3 @@ index 8158e6d9ef190..8bdb239295c39 100644
 -      return iwl_mvm_flush_tx_path(mvm, tfd_queue_msk);
 +      return iwl_mvm_flush_tx_path(mvm, tfd_queue_mask);
  }
--- 
-2.42.0
-
diff --git a/queue-6.6/wifi-iwlwifi-use-fw-rate-for-non-data-frames.patch b/queue-6.6/wifi-iwlwifi-use-fw-rate-for-non-data-frames.patch
deleted file mode 100644 (file)
index c8649ee..0000000
+++ /dev/null
@@ -1,64 +0,0 @@
-From c4b10f971eb9fd5bf98497d593714976d30c4c29 Mon Sep 17 00:00:00 2001
-From: Sasha Levin <sashal@kernel.org>
-Date: Wed, 13 Sep 2023 14:56:45 +0300
-Subject: wifi: iwlwifi: Use FW rate for non-data frames
-
-From: Miri Korenblit <miriam.rachel.korenblit@intel.com>
-
-[ Upstream commit 499d02790495958506a64f37ceda7e97345a50a8 ]
-
-Currently we are setting the rate in the tx cmd for
-mgmt frames (e.g. during connection establishment).
-This was problematic when sending mgmt frames in eSR mode,
-as we don't know what link this frame will be sent on
-(This is decided by the FW), so we don't know what is the
-lowest rate.
-Fix this by not setting the rate in tx cmd and rely
-on FW to choose the right one.
-Set rate only for injected frames with fixed rate,
-or when no sta is given.
-Also set for important frames (EAPOL etc.) the High Priority flag.
-
-Fixes: 055b22e770dd ("iwlwifi: mvm: Set Tx rate and flags when there is not station")
-Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com>
-Signed-off-by: Gregory Greenman <gregory.greenman@intel.com>
-Link: https://lore.kernel.org/r/20230913145231.6c7e59620ee0.I6eaed3ccdd6dd62b9e664facc484081fc5275843@changeid
-Signed-off-by: Johannes Berg <johannes.berg@intel.com>
-Signed-off-by: Sasha Levin <sashal@kernel.org>
----
- drivers/net/wireless/intel/iwlwifi/mvm/tx.c | 14 +++++++++-----
- 1 file changed, 9 insertions(+), 5 deletions(-)
-
-diff --git a/drivers/net/wireless/intel/iwlwifi/mvm/tx.c b/drivers/net/wireless/intel/iwlwifi/mvm/tx.c
-index 898dca3936435..8158e6d9ef190 100644
---- a/drivers/net/wireless/intel/iwlwifi/mvm/tx.c
-+++ b/drivers/net/wireless/intel/iwlwifi/mvm/tx.c
-@@ -536,16 +536,20 @@ iwl_mvm_set_tx_params(struct iwl_mvm *mvm, struct sk_buff *skb,
-                       flags |= IWL_TX_FLAGS_ENCRYPT_DIS;
-               /*
--               * For data packets rate info comes from the fw. Only
--               * set rate/antenna during connection establishment or in case
--               * no station is given.
-+               * For data and mgmt packets rate info comes from the fw. Only
-+               * set rate/antenna for injected frames with fixed rate, or
-+               * when no sta is given.
-                */
--              if (!sta || !ieee80211_is_data(hdr->frame_control) ||
--                  mvmsta->sta_state < IEEE80211_STA_AUTHORIZED) {
-+              if (unlikely(!sta ||
-+                           info->control.flags & IEEE80211_TX_CTRL_RATE_INJECT)) {
-                       flags |= IWL_TX_FLAGS_CMD_RATE;
-                       rate_n_flags =
-                               iwl_mvm_get_tx_rate_n_flags(mvm, info, sta,
-                                                           hdr->frame_control);
-+              } else if (!ieee80211_is_data(hdr->frame_control) ||
-+                         mvmsta->sta_state < IEEE80211_STA_AUTHORIZED) {
-+                      /* These are important frames */
-+                      flags |= IWL_TX_FLAGS_HIGH_PRI;
-               }
-               if (mvm->trans->trans_cfg->device_family >=
--- 
-2.42.0
-