wifi: ath12k: relax list iteration in ath12k_mac_vif_unref()
authorDmitry Antipov <dmantipov@yandex.ru>
Wed, 2 Aug 2023 17:04:09 +0000 (20:04 +0300)
committerKalle Valo <quic_kvalo@quicinc.com>
Thu, 3 Aug 2023 09:17:30 +0000 (12:17 +0300)
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 <dmantipov@yandex.ru>
Signed-off-by: Kalle Valo <quic_kvalo@quicinc.com>
Link: https://lore.kernel.org/r/20230704173718.73462-1-dmantipov@yandex.ru
drivers/net/wireless/ath/ath12k/mac.c

index 48cf3f1..0f2af2f 100644 (file)
@@ -5542,7 +5542,7 @@ err:
 
 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;
@@ -5550,8 +5550,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;