2023-07-04 18:05:06

by Dmitry Antipov

[permalink] [raw]
Subject: [PATCH] wifi: ath12k: relax list iteration in ath12k_mac_vif_unref()

In 'ath12k_mac_vif_unref()', 'dp->tx_desc_used_list[i]'
is not altered so 'list_for_each_entry()' should be safe.

Signed-off-by: Dmitry Antipov <[email protected]>
---
drivers/net/wireless/ath/ath12k/mac.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/net/wireless/ath/ath12k/mac.c b/drivers/net/wireless/ath/ath12k/mac.c
index 1bb9802ef569..a58c374f23f7 100644
--- a/drivers/net/wireless/ath/ath12k/mac.c
+++ b/drivers/net/wireless/ath/ath12k/mac.c
@@ -5201,7 +5201,7 @@ static int ath12k_mac_op_add_interface(struct ieee80211_hw *hw,

static void ath12k_mac_vif_unref(struct ath12k_dp *dp, struct ieee80211_vif *vif)
{
- struct ath12k_tx_desc_info *tx_desc_info, *tmp1;
+ struct ath12k_tx_desc_info *tx_desc_info;
struct ath12k_skb_cb *skb_cb;
struct sk_buff *skb;
int i;
@@ -5209,8 +5209,8 @@ static void ath12k_mac_vif_unref(struct ath12k_dp *dp, struct ieee80211_vif *vif
for (i = 0; i < ATH12K_HW_MAX_QUEUES; i++) {
spin_lock_bh(&dp->tx_desc_lock[i]);

- list_for_each_entry_safe(tx_desc_info, tmp1, &dp->tx_desc_used_list[i],
- list) {
+ list_for_each_entry(tx_desc_info, &dp->tx_desc_used_list[i],
+ list) {
skb = tx_desc_info->skb;
if (!skb)
continue;
--
2.41.0



2023-08-03 09:39:02

by Kalle Valo

[permalink] [raw]
Subject: Re: [PATCH] wifi: ath12k: relax list iteration in ath12k_mac_vif_unref()

Dmitry Antipov <[email protected]> wrote:

> In ath12k_mac_vif_unref() dp->tx_desc_used_list[i]
> is not altered so list_for_each_entry() should be safe.
>
> Signed-off-by: Dmitry Antipov <[email protected]>
> Signed-off-by: Kalle Valo <[email protected]>

Patch applied to ath-next branch of ath.git, thanks.

89a9dda1430a wifi: ath12k: relax list iteration in ath12k_mac_vif_unref()

--
https://patchwork.kernel.org/project/linux-wireless/patch/[email protected]/

https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches