Skip to content

Commit e3b0311

Browse files
LorenzoBianconinbd168
authored andcommitted
wifi: mt76: mt7996: rely on shared poll_list field
Rely on poll_list field in mt76_wcid structure and get rid of private copy. Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org> Signed-off-by: Felix Fietkau <nbd@nbd.name>
1 parent 9d599f2 commit e3b0311

File tree

3 files changed

+14
-15
lines changed

3 files changed

+14
-15
lines changed

drivers/net/wireless/mediatek/mt76/mt7996/mac.c

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -130,8 +130,8 @@ static void mt7996_mac_sta_poll(struct mt7996_dev *dev)
130130
break;
131131
}
132132
msta = list_first_entry(&sta_poll_list,
133-
struct mt7996_sta, poll_list);
134-
list_del_init(&msta->poll_list);
133+
struct mt7996_sta, wcid.poll_list);
134+
list_del_init(&msta->wcid.poll_list);
135135
spin_unlock_bh(&dev->mt76.sta_poll_lock);
136136

137137
idx = msta->wcid.idx;
@@ -682,8 +682,8 @@ mt7996_mac_fill_rx(struct mt7996_dev *dev, struct sk_buff *skb)
682682

683683
msta = container_of(status->wcid, struct mt7996_sta, wcid);
684684
spin_lock_bh(&dev->mt76.sta_poll_lock);
685-
if (list_empty(&msta->poll_list))
686-
list_add_tail(&msta->poll_list,
685+
if (list_empty(&msta->wcid.poll_list))
686+
list_add_tail(&msta->wcid.poll_list,
687687
&dev->mt76.sta_poll_list);
688688
spin_unlock_bh(&dev->mt76.sta_poll_lock);
689689
}
@@ -1293,8 +1293,8 @@ mt7996_mac_tx_free(struct mt7996_dev *dev, void *data, int len)
12931293

12941294
msta = container_of(wcid, struct mt7996_sta, wcid);
12951295
spin_lock_bh(&mdev->sta_poll_lock);
1296-
if (list_empty(&msta->poll_list))
1297-
list_add_tail(&msta->poll_list,
1296+
if (list_empty(&msta->wcid.poll_list))
1297+
list_add_tail(&msta->wcid.poll_list,
12981298
&mdev->sta_poll_list);
12991299
spin_unlock_bh(&mdev->sta_poll_lock);
13001300
continue;
@@ -1502,8 +1502,8 @@ static void mt7996_mac_add_txs(struct mt7996_dev *dev, void *data)
15021502
goto out;
15031503

15041504
spin_lock_bh(&dev->mt76.sta_poll_lock);
1505-
if (list_empty(&msta->poll_list))
1506-
list_add_tail(&msta->poll_list, &dev->mt76.sta_poll_list);
1505+
if (list_empty(&msta->wcid.poll_list))
1506+
list_add_tail(&msta->wcid.poll_list, &dev->mt76.sta_poll_list);
15071507
spin_unlock_bh(&dev->mt76.sta_poll_lock);
15081508

15091509
out:

drivers/net/wireless/mediatek/mt76/mt7996/main.c

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -202,7 +202,7 @@ static int mt7996_add_interface(struct ieee80211_hw *hw,
202202
idx = MT7996_WTBL_RESERVED - mvif->mt76.idx;
203203

204204
INIT_LIST_HEAD(&mvif->sta.rc_list);
205-
INIT_LIST_HEAD(&mvif->sta.poll_list);
205+
INIT_LIST_HEAD(&mvif->sta.wcid.poll_list);
206206
mvif->sta.wcid.idx = idx;
207207
mvif->sta.wcid.phy_idx = band_idx;
208208
mvif->sta.wcid.hw_key_idx = -1;
@@ -264,8 +264,8 @@ static void mt7996_remove_interface(struct ieee80211_hw *hw,
264264
mutex_unlock(&dev->mt76.mutex);
265265

266266
spin_lock_bh(&dev->mt76.sta_poll_lock);
267-
if (!list_empty(&msta->poll_list))
268-
list_del_init(&msta->poll_list);
267+
if (!list_empty(&msta->wcid.poll_list))
268+
list_del_init(&msta->wcid.poll_list);
269269
spin_unlock_bh(&dev->mt76.sta_poll_lock);
270270

271271
mt76_packet_id_flush(&dev->mt76, &msta->wcid);
@@ -654,7 +654,7 @@ int mt7996_mac_sta_add(struct mt76_dev *mdev, struct ieee80211_vif *vif,
654654
return -ENOSPC;
655655

656656
INIT_LIST_HEAD(&msta->rc_list);
657-
INIT_LIST_HEAD(&msta->poll_list);
657+
INIT_LIST_HEAD(&msta->wcid.poll_list);
658658
msta->vif = mvif;
659659
msta->wcid.sta = 1;
660660
msta->wcid.idx = idx;
@@ -690,8 +690,8 @@ void mt7996_mac_sta_remove(struct mt76_dev *mdev, struct ieee80211_vif *vif,
690690
mt7996_mac_twt_teardown_flow(dev, msta, i);
691691

692692
spin_lock_bh(&mdev->sta_poll_lock);
693-
if (!list_empty(&msta->poll_list))
694-
list_del_init(&msta->poll_list);
693+
if (!list_empty(&msta->wcid.poll_list))
694+
list_del_init(&msta->wcid.poll_list);
695695
if (!list_empty(&msta->rc_list))
696696
list_del_init(&msta->rc_list);
697697
spin_unlock_bh(&mdev->sta_poll_lock);

drivers/net/wireless/mediatek/mt76/mt7996/mt7996.h

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -103,7 +103,6 @@ struct mt7996_sta {
103103

104104
struct mt7996_vif *vif;
105105

106-
struct list_head poll_list;
107106
struct list_head rc_list;
108107
u32 airtime_ac[8];
109108

0 commit comments

Comments
 (0)