mt76: update to Git HEAD (2025-09-09)

27ad37728c3f wifi: mt76: mt7996: Check phy before init msta_link in mt7996_mac_sta_add_links()
95c9b8099ede wifi: mt76: mt7996: Set EML capabilities for AP interface
08df8dd7b00b wifi: mt76: mt7996: Use proper link_id in link_sta_rc_update callback
15fa4e33ee8f wifi: mt76: mt7996: Enable MLO support for client interfaces
3400b1ba33be wifi: mt76: mt7925: add pci restore for hibernate
51a1c0a086c8 wifi: mt76: mt7921: Add 160MHz beamformee capability for mt7922 device
435e596914fa wifi: mt76: mt7996: Use proper link info in mt7996_mcu_add_group
d30faac3b645 firmware: update mt7996 and mt7992 firmware to 20250606
304226bc4552 wifi: mt76: mt7996: Fix mt7996_reverse_frag0_hdr_trans for MLO
7cf18f8ebbb8 wifi: mt76: mt7996: Add all active links to poll list in mt7996_mac_tx_free()
16090cb27d9f wifi: mt76: mt7996: Implement MLD address translation for EAPOL
a1c319500a53 wifi: mt76: mt7996: Temporarily disable EPCS
5f3ea4562fbf wifi: mt76: mt7921: Place upper limit on station AID
ef2468830f6d wifi: mt76: un-embedd netdev from mt76_dev
29bca0ca462b net: mediatek: wed: Introduce MT7992 WED support to MT7988 SoC
245f6ff460c8 wifi: mt76: Add reset_idx to reset_q mt76_queue_ops signature.
4a3a5a7d71a8 wifi: mt76: Remove q->ndesc check in mt76_dma_rx_fill()
d540538299f7 wifi: mt76: Differentiate between RRO data and RRO MSDU queues
d0217732f96e wifi: mt76: Do not always enable NAPIs for WED RRO queues
1df790839241 wifi: mt76: mt7996: Initial DMA configuration for MT7992 WED support
fca511f401e9 wifi: mt76: mt7996: Enable HW RRO for MT7992 chipset
8134055d3459 wifi: mt76: mt7996: Introduce the capability to reset MT7992 WED device
4f81d751b5de wifi: mt76: mt7996: Fix tx-queues initialization for second phy on mt7996
f559eef156fd wifi: mt76: mt7996: Fix RX packets configuration for primary WED device
6b518355fec6 wifi: mt76: mt7996: Enable WED for MT7992 chipset
13eb05fa4a43 wifi: mt76: mt7996: Introduce RRO MSDU callbacks
ac1bca49973b wifi: mt76: Add rx_queue_init callback
d82330a9d019 wifi: mt76: mt7996: Decouple RRO logic from WED support
0a32ae3cc23d wifi: mt76: Add mt76_dma_get_rxdmad_c_buf utility routione
6c902ccba889 wifi: mt76: mt7996: Add SW path for HW-RRO v3.1
f271ce48d73b mt76: mt7996: fix unsigned comparison
d48b221e39f1 wifi: mt76: mt7925: prevent NULL vif dereference in mt7925_mac_write_txwi
719cda7c9f18 wifi: mt76: mt7925: prevent NULL pointer dereference in mt7925_tx_check_aggr()
03b0c871630a wifi: mt76: mt7996: add missing NULL pointer check
91dcccebfe19 firmware: update mt7996/mt7992 firmware to 20250905
76401f5e2e05 mt76: update RRO patches to the latest version
7b4b6c844554 wifi: mt76: Convert mt76_wed_rro_ind to LE
0d6eaa417441 wifi: mt76: mt7915: fix mt7981 pre-calibration
015349622b0c wifi: mt76: mt7925: fix incorrect length field in txpower command
5776b3292908 wifi: mt76: mt7925: refine the txpower initialization flow
b50c633f9158 wifi: mt76: mt7996: support writing MAC TXD for AddBA Request
ea9998693579 wifi: mt76: mt7996: Add missing DMA sync for EAPOL frames
a4d6f193be22 wifi: mt76: mt7996: remove redundant per-phy mac80211 calls during restart
ffda4432654d wifi: mt76: mt7996: improve hardware restart reliability
a6559a003d1b wifi: mt76: mt7996: decrease timeout for commonly issued MCU commands

Signed-off-by: Felix Fietkau <nbd@nbd.name>
(cherry picked from commit e401229918fdbd37eedf53db52e3ba022652831e)
This commit is contained in:
Felix Fietkau
2025-09-09 18:30:52 +02:00
parent f3a27d09e2
commit 186534e167
4 changed files with 153 additions and 13 deletions

View File

@@ -8,9 +8,9 @@ PKG_LICENSE_FILES:=
PKG_SOURCE_URL:=https://github.com/openwrt/mt76
PKG_SOURCE_PROTO:=git
PKG_SOURCE_DATE:=2025-08-27
PKG_SOURCE_VERSION:=de1df8b888bd1c99ee191f451af47b4fa9658e8c
PKG_MIRROR_HASH:=4ead68e97fc6472a682dae2f96f9dbb377f23c316511f625b85af15de46e9397
PKG_SOURCE_DATE:=2025-09-09
PKG_SOURCE_VERSION:=a6559a003d1b963507d09853c24594cd5228599c
PKG_MIRROR_HASH:=58938c0643d3f4e46fc41cb6617f1194d591781524590f4fb293b5730f4ecd6d
PKG_MAINTAINER:=Felix Fietkau <nbd@nbd.name>
PKG_USE_NINJA:=0

View File

@@ -23,7 +23,7 @@
.set_rts_threshold = mt7915_set_rts_threshold,
--- a/mt7996/main.c
+++ b/mt7996/main.c
@@ -715,8 +715,7 @@ static void mt7996_configure_filter(stru
@@ -717,8 +717,7 @@ static void mt7996_configure_filter(stru
}
static int
@@ -33,8 +33,8 @@
{
struct mt7996_vif *mvif = (struct mt7996_vif *)vif->drv_priv;
struct mt7996_phy *phy = mt7996_vif_link_phy(&mvif->deflink);
@@ -1687,13 +1686,12 @@ out:
rcu_read_unlock();
@@ -1702,26 +1701,31 @@ static void mt7996_link_rate_ctrl_update
spin_unlock_bh(&dev->mt76.sta_poll_lock);
}
-static void mt7996_link_sta_rc_update(struct ieee80211_hw *hw,
@@ -46,12 +46,36 @@
+ struct ieee80211_sta *sta,
+ u32 changed)
{
struct mt7996_dev *dev = mt7996_hw_dev(hw);
- struct ieee80211_sta *sta = link_sta->sta;
struct mt7996_sta *msta = (struct mt7996_sta *)sta->drv_priv;
- struct mt7996_sta_link *msta_link;
+ struct mt7996_dev *dev = mt7996_hw_dev(hw);
+ struct ieee80211_link_sta *link_sta;
+ unsigned int link_id;
mt7996_link_rate_ctrl_update(&changed, sta);
ieee80211_queue_work(hw, &dev->rc_work);
@@ -2186,7 +2184,7 @@ const struct ieee80211_ops mt7996_ops =
rcu_read_lock();
- msta_link = rcu_dereference(msta->link[link_sta->link_id]);
- if (msta_link) {
- struct mt7996_dev *dev = mt7996_hw_dev(hw);
+ for_each_sta_active_link(vif, sta, link_sta, link_id) {
+ struct mt7996_sta_link *msta_link;
+
+ msta_link = rcu_dereference(msta->link[link_sta->link_id]);
+ if (!msta_link)
+ continue;
mt7996_link_rate_ctrl_update(&changed, msta_link);
- ieee80211_queue_work(hw, &dev->rc_work);
}
rcu_read_unlock();
+
+ ieee80211_queue_work(hw, &dev->rc_work);
}
static void mt7996_sta_rate_ctrl_update(void *data, struct ieee80211_sta *sta)
@@ -2234,7 +2238,7 @@ const struct ieee80211_ops mt7996_ops =
.link_info_changed = mt7996_link_info_changed,
.sta_state = mt7996_sta_state,
.sta_pre_rcu_remove = mt76_sta_pre_rcu_remove,
@@ -73,7 +97,7 @@
int n_chains, delta;
--- a/mt76.h
+++ b/mt76.h
@@ -1521,7 +1521,7 @@ int mt76_get_min_avg_rssi(struct mt76_de
@@ -1547,7 +1547,7 @@ int mt76_get_min_avg_rssi(struct mt76_de
s8 mt76_get_power_bound(struct mt76_phy *phy, s8 txpower);
int mt76_get_txpower(struct ieee80211_hw *hw, struct ieee80211_vif *vif,