mirror of
https://git.openwrt.org/openwrt/openwrt.git
synced 2026-03-14 23:09:45 +01:00
5f61f34087c5 wifi: mt76: mt7996: fix crash on some tx status reports
d729307b5e8b mt76: mt7996: add missing null pointer check
fb22489fd738 wifi: mt76: do not add non-sta wcid entries to the poll list
fb7e0501b8f9 wifi: mt76: mt7996: add missing check for rx wcid entries
4cd64ad1283b wifi: mt76: mt7915: fix list corruption after hardware restart
ee538efba542 wifi: mt76: free pending offchannel tx frames on wcid cleanup
415b5a68878b wifi: mt76: fix list corruption
3ed2c4030d42 wifi: mt76: mt7925u: use connac3 tx aggr check in tx complete
a35af277873f wifi: mt76: mt7925: skip EHT MLD TLV on non-MLD and pass conn_state for sta_cmd
384d3a9bff2d wifi: mt76: mt7996: Use deflink for AMPDU rx reordering
9bae5f956e65 wifi: mt76: Remove dead code in mt76_scan_work
de1df8b888bd wifi: mt76: mt7996: Export MLO AP capabilities to mac80211
Signed-off-by: Felix Fietkau <nbd@nbd.name>
(cherry picked from commit 2760a08b40)
84 lines
3 KiB
Diff
84 lines
3 KiB
Diff
--- a/mt7915/main.c
|
|
+++ b/mt7915/main.c
|
|
@@ -1224,10 +1224,9 @@ static void mt7915_sta_rc_work(void *dat
|
|
|
|
static void mt7915_sta_rc_update(struct ieee80211_hw *hw,
|
|
struct ieee80211_vif *vif,
|
|
- struct ieee80211_link_sta *link_sta,
|
|
+ struct ieee80211_sta *sta,
|
|
u32 changed)
|
|
{
|
|
- struct ieee80211_sta *sta = link_sta->sta;
|
|
struct mt7915_phy *phy = mt7915_hw_phy(hw);
|
|
struct mt7915_dev *dev = phy->dev;
|
|
struct mt7915_sta *msta = (struct mt7915_sta *)sta->drv_priv;
|
|
@@ -1771,7 +1770,7 @@ const struct ieee80211_ops mt7915_ops =
|
|
.stop_ap = mt7915_stop_ap,
|
|
.sta_state = mt76_sta_state,
|
|
.sta_pre_rcu_remove = mt76_sta_pre_rcu_remove,
|
|
- .link_sta_rc_update = mt7915_sta_rc_update,
|
|
+ .sta_rc_update = mt7915_sta_rc_update,
|
|
.set_key = mt7915_set_key,
|
|
.ampdu_action = mt7915_ampdu_action,
|
|
.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
|
|
}
|
|
|
|
static int
|
|
-mt7996_get_txpower(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
|
|
- unsigned int link_id, int *dbm)
|
|
+mt7996_get_txpower(struct ieee80211_hw *hw, struct ieee80211_vif *vif, int *dbm)
|
|
{
|
|
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();
|
|
}
|
|
|
|
-static void mt7996_link_sta_rc_update(struct ieee80211_hw *hw,
|
|
- struct ieee80211_vif *vif,
|
|
- struct ieee80211_link_sta *link_sta,
|
|
- u32 changed)
|
|
+static void mt7996_sta_rc_update(struct ieee80211_hw *hw,
|
|
+ struct ieee80211_vif *vif,
|
|
+ struct ieee80211_sta *sta,
|
|
+ u32 changed)
|
|
{
|
|
struct mt7996_dev *dev = mt7996_hw_dev(hw);
|
|
- struct ieee80211_sta *sta = link_sta->sta;
|
|
|
|
mt7996_link_rate_ctrl_update(&changed, sta);
|
|
ieee80211_queue_work(hw, &dev->rc_work);
|
|
@@ -2186,7 +2184,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,
|
|
- .link_sta_rc_update = mt7996_link_sta_rc_update,
|
|
+ .sta_rc_update = mt7996_sta_rc_update,
|
|
.set_key = mt7996_set_key,
|
|
.ampdu_action = mt7996_ampdu_action,
|
|
.set_rts_threshold = mt7996_set_rts_threshold,
|
|
--- a/mac80211.c
|
|
+++ b/mac80211.c
|
|
@@ -1745,7 +1745,7 @@ s8 mt76_get_power_bound(struct mt76_phy
|
|
EXPORT_SYMBOL_GPL(mt76_get_power_bound);
|
|
|
|
int mt76_get_txpower(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
|
|
- unsigned int link_id, int *dbm)
|
|
+ int *dbm)
|
|
{
|
|
struct mt76_phy *phy = mt76_vif_phy(hw, vif);
|
|
int n_chains, delta;
|
|
--- a/mt76.h
|
|
+++ b/mt76.h
|
|
@@ -1521,7 +1521,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,
|
|
- unsigned int link_id, int *dbm);
|
|
+ int *dbm);
|
|
int mt76_init_sar_power(struct ieee80211_hw *hw,
|
|
const struct cfg80211_sar_specs *sar);
|
|
int mt76_get_sar_power(struct mt76_phy *phy,
|