Update On Thu Feb 19 20:02:35 CET 2026

This commit is contained in:
github-action[bot]
2026-02-19 20:02:36 +01:00
parent a45886a66e
commit a3f5573e84
24 changed files with 810 additions and 723 deletions
+13 -18
View File
@@ -1,7 +1,7 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=mt76
PKG_RELEASE=3
PKG_RELEASE=1
PKG_LICENSE:=GPLv2
PKG_LICENSE_FILES:=
@@ -14,25 +14,19 @@ PKG_SOURCE_DATE:=2022-12-22
PKG_SOURCE_VERSION:=5b509e80384ab019ac11aa90c81ec0dbb5b0d7f2
PKG_MIRROR_HASH:=6fc25df4d28becd010ff4971b23731c08b53e69381a9e4c868091899712f78a9
PATCH_DIR:=./patches-5.4
else ifdef CONFIG_LINUX_6_1
PKG_SOURCE_DATE:=2024-09-29
PKG_SOURCE_VERSION:=ee693260c52191c9c4764915178ce3586e926428
PKG_MIRROR_HASH:=213ca47f3e7ec8a8c6b4ade2e301f62fcc69793ed06d43eb730fc9a500fd5595
PATCH_DIR:=./patches-6.x
else ifdef CONFIG_LINUX_6_6
PKG_SOURCE_DATE:=2024-09-29
PKG_SOURCE_VERSION:=ee693260c52191c9c4764915178ce3586e926428
PKG_MIRROR_HASH:=213ca47f3e7ec8a8c6b4ade2e301f62fcc69793ed06d43eb730fc9a500fd5595
PATCH_DIR:=./patches-6.x
else ifdef CONFIG_LINUX_6_12
PKG_SOURCE_DATE:=2024-09-29
PKG_SOURCE_VERSION:=ee693260c52191c9c4764915178ce3586e926428
PKG_MIRROR_HASH:=213ca47f3e7ec8a8c6b4ade2e301f62fcc69793ed06d43eb730fc9a500fd5595
PATCH_DIR:=./patches-6.x
else
else ifdef CONFIG_LINUX_5_10
PKG_SOURCE_DATE:=2023-09-18
PKG_SOURCE_VERSION:=2afc7285f75dca5a0583fd917285bf33f1429cc6
PKG_MIRROR_HASH:=2c9556b298246277ac2d65415e4449f98e6d5fdb99e0d0a92262f162df772bbc
else ifdef CONFIG_LINUX_5_15
PKG_SOURCE_DATE:=2023-09-18
PKG_SOURCE_VERSION:=2afc7285f75dca5a0583fd917285bf33f1429cc6
PKG_MIRROR_HASH:=2c9556b298246277ac2d65415e4449f98e6d5fdb99e0d0a92262f162df772bbc
else
PKG_SOURCE_DATE:=2024-10-14
PKG_SOURCE_VERSION:=8dfead68c20251fccb39113ee864fbbafc5b7f76
PKG_MIRROR_HASH:=1abbc60039e5eb1b25c678a711b79a92e8b9f39e4db9801610811c76d2928718
PATCH_DIR:=./patches-6.x
endif
PKG_MAINTAINER:=Felix Fietkau <nbd@nbd.name>
@@ -387,7 +381,8 @@ define KernelPackage/mt7925-common
$(KernelPackage/mt76-default)
TITLE:=MediaTek MT7925 wireless driver common code
HIDDEN:=1
DEPENDS+=+kmod-mt792x-common +@DRIVER_11AX_SUPPORT +kmod-hwmon-core
DEPENDS+=+kmod-mt792x-common +kmod-hwmon-core \
+@DRIVER_11AX_SUPPORT +@DRIVER_11BE_SUPPORT
FILES:= $(PKG_BUILD_DIR)/mt7925/mt7925-common.ko
endef
@@ -10,11 +10,9 @@ Signed-off-by: DENG Qingfang <dqfext@gmail.com>
mac80211.c | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/mac80211.c b/mac80211.c
index 766681a4..06aa4228 100644
--- a/mac80211.c
+++ b/mac80211.c
@@ -282,7 +282,7 @@ static void mt76_init_stream_cap(struct mt76_phy *phy,
@@ -293,7 +293,7 @@ static void mt76_init_stream_cap(struct
void mt76_set_stream_caps(struct mt76_phy *phy, bool vht)
{
if (phy->cap.has_2ghz)
@@ -23,7 +21,7 @@ index 766681a4..06aa4228 100644
if (phy->cap.has_5ghz)
mt76_init_stream_cap(phy, &phy->sband_5g.sband, vht);
if (phy->cap.has_6ghz)
@@ -349,13 +349,13 @@ mt76_init_sband(struct mt76_phy *phy, struct mt76_sband *msband,
@@ -360,13 +360,13 @@ mt76_init_sband(struct mt76_phy *phy, st
static int
mt76_init_sband_2g(struct mt76_phy *phy, struct ieee80211_rate *rates,
@@ -39,7 +37,7 @@ index 766681a4..06aa4228 100644
}
static int
@@ -508,7 +508,7 @@ int mt76_register_phy(struct mt76_phy *phy, bool vht,
@@ -524,7 +524,7 @@ int mt76_register_phy(struct mt76_phy *p
return ret;
if (phy->cap.has_2ghz) {
@@ -48,7 +46,7 @@ index 766681a4..06aa4228 100644
if (ret)
return ret;
}
@@ -691,7 +691,7 @@ int mt76_register_device(struct mt76_dev *dev, bool vht,
@@ -710,7 +710,7 @@ int mt76_register_device(struct mt76_dev
return ret;
if (phy->cap.has_2ghz) {
@@ -1,15 +1,6 @@
--- a/Makefile
+++ b/Makefile
@@ -1,5 +1,5 @@
# SPDX-License-Identifier: GPL-2.0-only
-EXTRA_CFLAGS += -Werror -DCONFIG_MT76_LEDS
+EXTRA_CFLAGS += -Werror -Wno-unused-variable -DCONFIG_MT76_LEDS
obj-m := mt76.o
obj-$(CONFIG_MT76_USB) += mt76-usb.o
obj-$(CONFIG_MT76_SDIO) += mt76-sdio.o
--- a/mac80211.c
+++ b/mac80211.c
@@ -1660,8 +1660,8 @@
@@ -1656,8 +1656,8 @@ EXPORT_SYMBOL_GPL(mt76_get_sar_power);
static void
__mt76_csa_finish(void *priv, u8 *mac, struct ieee80211_vif *vif)
{
@@ -20,7 +11,7 @@
}
void mt76_csa_finish(struct mt76_dev *dev)
@@ -1685,7 +1685,7 @@
@@ -1681,7 +1681,7 @@ __mt76_csa_check(void *priv, u8 *mac, st
if (!vif->bss_conf.csa_active)
return;
@@ -29,9 +20,192 @@
}
void mt76_csa_check(struct mt76_dev *dev)
--- a/mt7603/main.c
+++ b/mt7603/main.c
@@ -23,7 +23,7 @@ mt7603_start(struct ieee80211_hw *hw)
}
static void
-mt7603_stop(struct ieee80211_hw *hw, bool suspend)
+mt7603_stop(struct ieee80211_hw *hw)
{
struct mt7603_dev *dev = hw->priv;
@@ -694,10 +694,6 @@ static void mt7603_tx(struct ieee80211_h
}
const struct ieee80211_ops mt7603_ops = {
- .add_chanctx = ieee80211_emulate_add_chanctx,
- .remove_chanctx = ieee80211_emulate_remove_chanctx,
- .change_chanctx = ieee80211_emulate_change_chanctx,
- .switch_vif_chanctx = ieee80211_emulate_switch_vif_chanctx,
.tx = mt7603_tx,
.start = mt7603_start,
.stop = mt7603_stop,
--- a/mt7615/main.c
+++ b/mt7615/main.c
@@ -91,7 +91,7 @@ out:
return ret;
}
-static void mt7615_stop(struct ieee80211_hw *hw, bool suspend)
+static void mt7615_stop(struct ieee80211_hw *hw)
{
struct mt7615_dev *dev = mt7615_hw_dev(hw);
struct mt7615_phy *phy = mt7615_hw_phy(hw);
@@ -1313,10 +1313,6 @@ static void mt7615_set_rekey_data(struct
#endif /* CONFIG_PM */
const struct ieee80211_ops mt7615_ops = {
- .add_chanctx = ieee80211_emulate_add_chanctx,
- .remove_chanctx = ieee80211_emulate_remove_chanctx,
- .change_chanctx = ieee80211_emulate_change_chanctx,
- .switch_vif_chanctx = ieee80211_emulate_switch_vif_chanctx,
.tx = mt7615_tx,
.start = mt7615_start,
.stop = mt7615_stop,
--- a/mt7615/mcu.c
+++ b/mt7615/mcu.c
@@ -353,7 +353,7 @@ static void
mt7615_mcu_csa_finish(void *priv, u8 *mac, struct ieee80211_vif *vif)
{
if (vif->bss_conf.csa_active)
- ieee80211_csa_finish(vif, 0);
+ ieee80211_csa_finish(vif);
}
static void
@@ -394,7 +394,7 @@ mt7615_mcu_rx_radar_detected(struct mt76
if (mt76_phy_dfs_state(mphy) < MT_DFS_STATE_CAC)
return;
- ieee80211_radar_detected(mphy->hw, NULL);
+ ieee80211_radar_detected(mphy->hw);
dev->hw_pattern++;
}
--- a/mt7615/usb.c
+++ b/mt7615/usb.c
@@ -79,7 +79,7 @@ static void mt7663u_copy(struct mt76_dev
mutex_unlock(&usb->usb_ctrl_mtx);
}
-static void mt7663u_stop(struct ieee80211_hw *hw, bool suspend)
+static void mt7663u_stop(struct ieee80211_hw *hw)
{
struct mt7615_phy *phy = mt7615_hw_phy(hw);
struct mt7615_dev *dev = hw->priv;
--- a/mt76x0/pci.c
+++ b/mt76x0/pci.c
@@ -44,7 +44,7 @@ static void mt76x0e_stop_hw(struct mt76x
mt76_clear(dev, MT_WPDMA_GLO_CFG, MT_WPDMA_GLO_CFG_RX_DMA_EN);
}
-static void mt76x0e_stop(struct ieee80211_hw *hw, bool suspend)
+static void mt76x0e_stop(struct ieee80211_hw *hw)
{
struct mt76x02_dev *dev = hw->priv;
@@ -59,10 +59,6 @@ mt76x0e_flush(struct ieee80211_hw *hw, s
}
static const struct ieee80211_ops mt76x0e_ops = {
- .add_chanctx = ieee80211_emulate_add_chanctx,
- .remove_chanctx = ieee80211_emulate_remove_chanctx,
- .change_chanctx = ieee80211_emulate_change_chanctx,
- .switch_vif_chanctx = ieee80211_emulate_switch_vif_chanctx,
.tx = mt76x02_tx,
.start = mt76x0e_start,
.stop = mt76x0e_stop,
--- a/mt76x0/usb.c
+++ b/mt76x0/usb.c
@@ -77,7 +77,7 @@ static void mt76x0u_cleanup(struct mt76x
mt76u_queues_deinit(&dev->mt76);
}
-static void mt76x0u_stop(struct ieee80211_hw *hw, bool suspend)
+static void mt76x0u_stop(struct ieee80211_hw *hw)
{
struct mt76x02_dev *dev = hw->priv;
@@ -118,10 +118,6 @@ static int mt76x0u_start(struct ieee8021
}
static const struct ieee80211_ops mt76x0u_ops = {
- .add_chanctx = ieee80211_emulate_add_chanctx,
- .remove_chanctx = ieee80211_emulate_remove_chanctx,
- .change_chanctx = ieee80211_emulate_change_chanctx,
- .switch_vif_chanctx = ieee80211_emulate_switch_vif_chanctx,
.tx = mt76x02_tx,
.start = mt76x0u_start,
.stop = mt76x0u_stop,
--- a/mt76x02_dfs.c
+++ b/mt76x02_dfs.c
@@ -630,7 +630,7 @@ static void mt76x02_dfs_tasklet(struct t
radar_detected = mt76x02_dfs_check_detection(dev);
if (radar_detected) {
/* sw detector rx radar pattern */
- ieee80211_radar_detected(dev->mt76.hw, NULL);
+ ieee80211_radar_detected(dev->mt76.hw);
mt76x02_dfs_detector_reset(dev);
return;
@@ -658,7 +658,7 @@ static void mt76x02_dfs_tasklet(struct t
/* hw detector rx radar pattern */
dfs_pd->stats[i].hw_pattern++;
- ieee80211_radar_detected(dev->mt76.hw, NULL);
+ ieee80211_radar_detected(dev->mt76.hw);
mt76x02_dfs_detector_reset(dev);
return;
--- a/mt76x2/pci_main.c
+++ b/mt76x2/pci_main.c
@@ -24,7 +24,7 @@ mt76x2_start(struct ieee80211_hw *hw)
}
static void
-mt76x2_stop(struct ieee80211_hw *hw, bool suspend)
+mt76x2_stop(struct ieee80211_hw *hw)
{
struct mt76x02_dev *dev = hw->priv;
@@ -121,10 +121,6 @@ static int mt76x2_set_antenna(struct iee
}
const struct ieee80211_ops mt76x2_ops = {
- .add_chanctx = ieee80211_emulate_add_chanctx,
- .remove_chanctx = ieee80211_emulate_remove_chanctx,
- .change_chanctx = ieee80211_emulate_change_chanctx,
- .switch_vif_chanctx = ieee80211_emulate_switch_vif_chanctx,
.tx = mt76x02_tx,
.start = mt76x2_start,
.stop = mt76x2_stop,
--- a/mt76x2/usb_main.c
+++ b/mt76x2/usb_main.c
@@ -22,7 +22,7 @@ static int mt76x2u_start(struct ieee8021
return 0;
}
-static void mt76x2u_stop(struct ieee80211_hw *hw, bool suspend)
+static void mt76x2u_stop(struct ieee80211_hw *hw)
{
struct mt76x02_dev *dev = hw->priv;
@@ -88,10 +88,6 @@ mt76x2u_config(struct ieee80211_hw *hw,
}
const struct ieee80211_ops mt76x2u_ops = {
- .add_chanctx = ieee80211_emulate_add_chanctx,
- .remove_chanctx = ieee80211_emulate_remove_chanctx,
- .change_chanctx = ieee80211_emulate_change_chanctx,
- .switch_vif_chanctx = ieee80211_emulate_switch_vif_chanctx,
.tx = mt76x02_tx,
.start = mt76x2u_start,
.stop = mt76x2u_stop,
--- a/mt7915/main.c
+++ b/mt7915/main.c
@@ -108,7 +108,7 @@
@@ -108,7 +108,7 @@ static int mt7915_start(struct ieee80211
return ret;
}
@@ -40,7 +214,7 @@
{
struct mt7915_dev *dev = mt7915_hw_dev(hw);
struct mt7915_phy *phy = mt7915_hw_phy(hw);
@@ -1697,10 +1697,6 @@
@@ -1699,10 +1699,6 @@ mt7915_reconfig_complete(struct ieee8021
}
const struct ieee80211_ops mt7915_ops = {
@@ -53,7 +227,7 @@
.stop = mt7915_stop,
--- a/mt7915/mcu.c
+++ b/mt7915/mcu.c
@@ -232,7 +232,7 @@
@@ -253,7 +253,7 @@ mt7915_mcu_csa_finish(void *priv, u8 *ma
if (!vif->bss_conf.csa_active || vif->type == NL80211_IFTYPE_STATION)
return;
@@ -62,7 +236,16 @@
}
static void
@@ -335,7 +335,7 @@
@@ -318,7 +318,7 @@ mt7915_mcu_rx_radar_detected(struct mt79
&dev->rdd2_chandef,
GFP_ATOMIC);
else
- ieee80211_radar_detected(mphy->hw, NULL);
+ ieee80211_radar_detected(mphy->hw);
dev->hw_pattern++;
}
@@ -356,7 +356,7 @@ mt7915_mcu_cca_finish(void *priv, u8 *ma
if (!vif->bss_conf.color_change_active || vif->type == NL80211_IFTYPE_STATION)
return;
@@ -71,7 +254,7 @@
}
static void
@@ -467,10 +467,10 @@
@@ -488,10 +488,10 @@ static bool mt7915_check_he_obss_narrow_
.tolerated = true,
};
@@ -84,22 +267,9 @@
mt7915_check_he_obss_narrow_bw_ru_iter,
&iter_data);
--- a/mt792x_core.c
+++ b/mt792x_core.c
@@ -733,10 +733,6 @@
if (!(*fw_features & MT792x_FW_CAP_CNM)) {
ops->remain_on_channel = NULL;
ops->cancel_remain_on_channel = NULL;
- ops->add_chanctx = ieee80211_emulate_add_chanctx;
- ops->remove_chanctx = ieee80211_emulate_remove_chanctx;
- ops->change_chanctx = ieee80211_emulate_change_chanctx;
- ops->switch_vif_chanctx = ieee80211_emulate_switch_vif_chanctx;
ops->assign_vif_chanctx = NULL;
ops->unassign_vif_chanctx = NULL;
ops->mgd_prepare_tx = NULL;
--- a/mt7921/main.c
+++ b/mt7921/main.c
@@ -268,7 +268,7 @@
@@ -268,7 +268,7 @@ static int mt7921_start(struct ieee80211
return err;
}
@@ -108,7 +278,7 @@
{
struct mt792x_dev *dev = mt792x_hw_dev(hw);
int err = 0;
@@ -281,7 +281,7 @@
@@ -281,7 +281,7 @@ static void mt7921_stop(struct ieee80211
return;
}
@@ -117,51 +287,94 @@
}
static int
--- a/mt7996/main.c
+++ b/mt7996/main.c
@@ -93,7 +93,7 @@
return ret;
}
--- a/mt7925/main.c
+++ b/mt7925/main.c
@@ -995,7 +995,7 @@ mt7925_mac_select_links(struct mt76_dev
continue;
-static void mt7996_stop(struct ieee80211_hw *hw, bool suspend)
+static void mt7996_stop(struct ieee80211_hw *hw)
data[n_data].link_id = link_id;
- data[n_data].band = link_conf->chanreq.oper.chan->band;
+ data[n_data].band = link_conf->chandef.chan->band;
n_data++;
}
rcu_read_unlock();
@@ -1026,7 +1026,7 @@ mt7925_mac_set_links(struct mt76_dev *md
struct mt792x_vif *mvif = (struct mt792x_vif *)vif->drv_priv;
struct ieee80211_bss_conf *link_conf =
mt792x_vif_to_bss_conf(vif, mvif->deflink_id);
- struct cfg80211_chan_def *chandef = &link_conf->chanreq.oper;
+ struct cfg80211_chan_def *chandef = &link_conf->chandef;
enum nl80211_band band = chandef->chan->band, secondary_band;
u16 sel_links = mt7925_mac_select_links(mdev, vif);
@@ -1036,7 +1036,7 @@ mt7925_mac_set_links(struct mt76_dev *md
return;
link_conf = mt792x_vif_to_bss_conf(vif, secondary_link_id);
- secondary_band = link_conf->chanreq.oper.chan->band;
+ secondary_band = link_conf->chandef.chan->band;
if (band == NL80211_BAND_2GHZ ||
(band == NL80211_BAND_5GHZ && secondary_band == NL80211_BAND_6GHZ)) {
--- a/mt7925/mcu.c
+++ b/mt7925/mcu.c
@@ -1166,7 +1166,7 @@ int mt7925_mcu_set_mlo_roc(struct mt792x
if (WARN_ON_ONCE(!link_conf))
return -EPERM;
- links[i].chan = link_conf->chanreq.oper.chan;
+ links[i].chan = link_conf->chandef.chan;
if (WARN_ON_ONCE(!links[i].chan))
return -EPERM;
@@ -1597,7 +1597,7 @@ mt7925_mcu_sta_phy_tlv(struct sk_buff *s
link_conf = mt792x_vif_to_bss_conf(vif, link_sta->link_id);
mconf = mt792x_vif_to_link(mvif, link_sta->link_id);
chandef = mconf->mt76.ctx ? &mconf->mt76.ctx->def :
- &link_conf->chanreq.oper;
+ &link_conf->chandef;
tlv = mt76_connac_mcu_add_tlv(skb, STA_REC_PHY, sizeof(*phy));
phy = (struct sta_rec_phy *)tlv;
@@ -1675,7 +1675,7 @@ mt7925_mcu_sta_rate_ctrl_tlv(struct sk_b
link_conf = mt792x_vif_to_bss_conf(vif, link_sta->link_id);
mconf = mt792x_vif_to_link(mvif, link_sta->link_id);
chandef = mconf->mt76.ctx ? &mconf->mt76.ctx->def :
- &link_conf->chanreq.oper;
+ &link_conf->chandef;
band = chandef->chan->band;
tlv = mt76_connac_mcu_add_tlv(skb, STA_REC_RA, sizeof(*ra_info));
@@ -2169,7 +2169,7 @@ void mt7925_mcu_bss_rlm_tlv(struct sk_bu
struct ieee80211_chanctx_conf *ctx)
{
struct mt7996_dev *dev = mt7996_hw_dev(hw);
struct mt7996_phy *phy = mt7996_hw_phy(hw);
@@ -1448,10 +1448,6 @@
#endif
const struct ieee80211_ops mt7996_ops = {
- .add_chanctx = ieee80211_emulate_add_chanctx,
- .remove_chanctx = ieee80211_emulate_remove_chanctx,
- .change_chanctx = ieee80211_emulate_change_chanctx,
- .switch_vif_chanctx = ieee80211_emulate_switch_vif_chanctx,
.tx = mt7996_tx,
.start = mt7996_start,
.stop = mt7996_stop,
--- a/mt7996/mcu.c
+++ b/mt7996/mcu.c
@@ -353,7 +353,7 @@
if (!vif->bss_conf.csa_active || vif->type == NL80211_IFTYPE_STATION)
return;
- ieee80211_csa_finish(vif, 0);
+ ieee80211_csa_finish(vif);
}
static void
@@ -433,7 +433,7 @@
if (!vif->bss_conf.color_change_active || vif->type == NL80211_IFTYPE_STATION)
return;
- ieee80211_color_change_finish(vif, 0);
+ ieee80211_color_change_finish(vif);
}
static void
struct cfg80211_chan_def *chandef = ctx ? &ctx->def :
- &link_conf->chanreq.oper;
+ &link_conf->chandef;
int freq1 = chandef->center_freq1, freq2 = chandef->center_freq2;
enum nl80211_band band = chandef->chan->band;
struct bss_rlm_tlv *req;
@@ -2309,7 +2309,7 @@ mt7925_mcu_bss_basic_tlv(struct sk_buff
struct ieee80211_vif *vif = link_conf->vif;
struct mt792x_bss_conf *mconf = mt792x_link_conf_to_mconf(link_conf);
struct cfg80211_chan_def *chandef = ctx ? &ctx->def :
- &link_conf->chanreq.oper;
+ &link_conf->chandef;
enum nl80211_band band = chandef->chan->band;
struct mt76_connac_bss_basic_tlv *basic_req;
struct mt792x_link_sta *mlink;
@@ -2436,7 +2436,7 @@ mt7925_mcu_bss_bmc_tlv(struct sk_buff *s
struct ieee80211_bss_conf *link_conf)
{
struct cfg80211_chan_def *chandef = ctx ? &ctx->def :
- &link_conf->chanreq.oper;
+ &link_conf->chandef;
struct mt792x_bss_conf *mconf = mt792x_link_conf_to_mconf(link_conf);
enum nl80211_band band = chandef->chan->band;
struct mt76_vif *mvif = &mconf->mt76;
--- a/mt792x.h
+++ b/mt792x.h
@@ -337,7 +337,7 @@
@@ -337,7 +337,7 @@ static inline bool mt792x_dma_need_reini
#define mt792x_mutex_release(dev) \
mt76_connac_mutex_release(&(dev)->mt76, &(dev)->pm)
@@ -170,7 +383,7 @@
void mt792x_pm_wake_work(struct work_struct *work);
void mt792x_pm_power_save_work(struct work_struct *work);
void mt792x_reset(struct mt76_dev *mdev);
@@ -457,7 +457,7 @@
@@ -457,7 +457,7 @@ void mt792xu_wr(struct mt76_dev *dev, u3
u32 mt792xu_rmw(struct mt76_dev *dev, u32 addr, u32 mask, u32 val);
void mt792xu_copy(struct mt76_dev *dev, u32 offset, const void *data, int len);
void mt792xu_disconnect(struct usb_interface *usb_intf);
@@ -181,7 +394,7 @@
mt792x_skb_add_usb_sdio_hdr(struct mt792x_dev *dev, struct sk_buff *skb,
--- a/mt792x_core.c
+++ b/mt792x_core.c
@@ -117,7 +117,7 @@
@@ -117,7 +117,7 @@ void mt792x_tx(struct ieee80211_hw *hw,
}
EXPORT_SYMBOL_GPL(mt792x_tx);
@@ -190,9 +403,20 @@
{
struct mt792x_dev *dev = mt792x_hw_dev(hw);
struct mt792x_phy *phy = mt792x_hw_phy(hw);
@@ -733,10 +733,6 @@ mt792x_get_mac80211_ops(struct device *d
if (!(*fw_features & MT792x_FW_CAP_CNM)) {
ops->remain_on_channel = NULL;
ops->cancel_remain_on_channel = NULL;
- ops->add_chanctx = ieee80211_emulate_add_chanctx;
- ops->remove_chanctx = ieee80211_emulate_remove_chanctx;
- ops->change_chanctx = ieee80211_emulate_change_chanctx;
- ops->switch_vif_chanctx = ieee80211_emulate_switch_vif_chanctx;
ops->assign_vif_chanctx = NULL;
ops->unassign_vif_chanctx = NULL;
ops->mgd_prepare_tx = NULL;
--- a/mt792x_usb.c
+++ b/mt792x_usb.c
@@ -285,12 +285,12 @@
@@ -285,12 +285,12 @@ int mt792xu_init_reset(struct mt792x_dev
}
EXPORT_SYMBOL_GPL(mt792xu_init_reset);
@@ -207,242 +431,65 @@
}
EXPORT_SYMBOL_GPL(mt792xu_stop);
--- a/mt7925/main.c
+++ b/mt7925/main.c
@@ -995,7 +995,7 @@
continue;
data[n_data].link_id = link_id;
- data[n_data].band = link_conf->chanreq.oper.chan->band;
+ data[n_data].band = link_conf->chandef.chan->band;
n_data++;
}
rcu_read_unlock();
@@ -1026,7 +1026,7 @@
struct mt792x_vif *mvif = (struct mt792x_vif *)vif->drv_priv;
struct ieee80211_bss_conf *link_conf =
mt792x_vif_to_bss_conf(vif, mvif->deflink_id);
- struct cfg80211_chan_def *chandef = &link_conf->chanreq.oper;
+ struct cfg80211_chan_def *chandef = &link_conf->chandef;
enum nl80211_band band = chandef->chan->band, secondary_band;
u16 sel_links = mt7925_mac_select_links(mdev, vif);
@@ -1036,7 +1036,7 @@
return;
link_conf = mt792x_vif_to_bss_conf(vif, secondary_link_id);
- secondary_band = link_conf->chanreq.oper.chan->band;
+ secondary_band = link_conf->chandef.chan->band;
if (band == NL80211_BAND_2GHZ ||
(band == NL80211_BAND_5GHZ && secondary_band == NL80211_BAND_6GHZ)) {
--- a/mt7925/mcu.c
+++ b/mt7925/mcu.c
@@ -1166,7 +1166,7 @@
if (WARN_ON_ONCE(!link_conf))
return -EPERM;
- links[i].chan = link_conf->chanreq.oper.chan;
+ links[i].chan = link_conf->chandef.chan;
if (WARN_ON_ONCE(!links[i].chan))
return -EPERM;
@@ -1597,7 +1597,7 @@
link_conf = mt792x_vif_to_bss_conf(vif, link_sta->link_id);
mconf = mt792x_vif_to_link(mvif, link_sta->link_id);
chandef = mconf->mt76.ctx ? &mconf->mt76.ctx->def :
- &link_conf->chanreq.oper;
+ &link_conf->chandef;
tlv = mt76_connac_mcu_add_tlv(skb, STA_REC_PHY, sizeof(*phy));
phy = (struct sta_rec_phy *)tlv;
@@ -1675,7 +1675,7 @@
link_conf = mt792x_vif_to_bss_conf(vif, link_sta->link_id);
mconf = mt792x_vif_to_link(mvif, link_sta->link_id);
chandef = mconf->mt76.ctx ? &mconf->mt76.ctx->def :
- &link_conf->chanreq.oper;
+ &link_conf->chandef;
band = chandef->chan->band;
tlv = mt76_connac_mcu_add_tlv(skb, STA_REC_RA, sizeof(*ra_info));
@@ -2169,7 +2169,7 @@
struct ieee80211_chanctx_conf *ctx)
{
struct cfg80211_chan_def *chandef = ctx ? &ctx->def :
- &link_conf->chanreq.oper;
+ &link_conf->chandef;
int freq1 = chandef->center_freq1, freq2 = chandef->center_freq2;
enum nl80211_band band = chandef->chan->band;
struct bss_rlm_tlv *req;
@@ -2309,7 +2309,7 @@
struct ieee80211_vif *vif = link_conf->vif;
struct mt792x_bss_conf *mconf = mt792x_link_conf_to_mconf(link_conf);
struct cfg80211_chan_def *chandef = ctx ? &ctx->def :
- &link_conf->chanreq.oper;
+ &link_conf->chandef;
enum nl80211_band band = chandef->chan->band;
struct mt76_connac_bss_basic_tlv *basic_req;
struct mt792x_link_sta *mlink;
@@ -2436,7 +2436,7 @@
struct ieee80211_bss_conf *link_conf)
{
struct cfg80211_chan_def *chandef = ctx ? &ctx->def :
- &link_conf->chanreq.oper;
+ &link_conf->chandef;
struct mt792x_bss_conf *mconf = mt792x_link_conf_to_mconf(link_conf);
enum nl80211_band band = chandef->chan->band;
struct mt76_vif *mvif = &mconf->mt76;
--- a/mt76x0/pci.c
+++ b/mt76x0/pci.c
@@ -44,7 +44,7 @@
mt76_clear(dev, MT_WPDMA_GLO_CFG, MT_WPDMA_GLO_CFG_RX_DMA_EN);
}
-static void mt76x0e_stop(struct ieee80211_hw *hw, bool suspend)
+static void mt76x0e_stop(struct ieee80211_hw *hw)
{
struct mt76x02_dev *dev = hw->priv;
@@ -59,10 +59,6 @@
}
static const struct ieee80211_ops mt76x0e_ops = {
- .add_chanctx = ieee80211_emulate_add_chanctx,
- .remove_chanctx = ieee80211_emulate_remove_chanctx,
- .change_chanctx = ieee80211_emulate_change_chanctx,
- .switch_vif_chanctx = ieee80211_emulate_switch_vif_chanctx,
.tx = mt76x02_tx,
.start = mt76x0e_start,
.stop = mt76x0e_stop,
--- a/mt76x0/usb.c
+++ b/mt76x0/usb.c
@@ -77,7 +77,7 @@
mt76u_queues_deinit(&dev->mt76);
}
-static void mt76x0u_stop(struct ieee80211_hw *hw, bool suspend)
+static void mt76x0u_stop(struct ieee80211_hw *hw)
{
struct mt76x02_dev *dev = hw->priv;
@@ -118,10 +118,6 @@
}
static const struct ieee80211_ops mt76x0u_ops = {
- .add_chanctx = ieee80211_emulate_add_chanctx,
- .remove_chanctx = ieee80211_emulate_remove_chanctx,
- .change_chanctx = ieee80211_emulate_change_chanctx,
- .switch_vif_chanctx = ieee80211_emulate_switch_vif_chanctx,
.tx = mt76x02_tx,
.start = mt76x0u_start,
.stop = mt76x0u_stop,
--- a/mt76x2/pci_main.c
+++ b/mt76x2/pci_main.c
@@ -24,7 +24,7 @@
}
static void
-mt76x2_stop(struct ieee80211_hw *hw, bool suspend)
+mt76x2_stop(struct ieee80211_hw *hw)
{
struct mt76x02_dev *dev = hw->priv;
@@ -121,10 +121,6 @@
}
const struct ieee80211_ops mt76x2_ops = {
- .add_chanctx = ieee80211_emulate_add_chanctx,
- .remove_chanctx = ieee80211_emulate_remove_chanctx,
- .change_chanctx = ieee80211_emulate_change_chanctx,
- .switch_vif_chanctx = ieee80211_emulate_switch_vif_chanctx,
.tx = mt76x02_tx,
.start = mt76x2_start,
.stop = mt76x2_stop,
--- a/mt76x2/usb_main.c
+++ b/mt76x2/usb_main.c
@@ -22,7 +22,7 @@
return 0;
}
-static void mt76x2u_stop(struct ieee80211_hw *hw, bool suspend)
+static void mt76x2u_stop(struct ieee80211_hw *hw)
{
struct mt76x02_dev *dev = hw->priv;
@@ -88,10 +88,6 @@
}
const struct ieee80211_ops mt76x2u_ops = {
- .add_chanctx = ieee80211_emulate_add_chanctx,
- .remove_chanctx = ieee80211_emulate_remove_chanctx,
- .change_chanctx = ieee80211_emulate_change_chanctx,
- .switch_vif_chanctx = ieee80211_emulate_switch_vif_chanctx,
.tx = mt76x02_tx,
.start = mt76x2u_start,
.stop = mt76x2u_stop,
--- a/mt7603/main.c
+++ b/mt7603/main.c
@@ -23,7 +23,7 @@
}
static void
-mt7603_stop(struct ieee80211_hw *hw, bool suspend)
+mt7603_stop(struct ieee80211_hw *hw)
{
struct mt7603_dev *dev = hw->priv;
@@ -694,10 +694,6 @@
}
const struct ieee80211_ops mt7603_ops = {
- .add_chanctx = ieee80211_emulate_add_chanctx,
- .remove_chanctx = ieee80211_emulate_remove_chanctx,
- .change_chanctx = ieee80211_emulate_change_chanctx,
- .switch_vif_chanctx = ieee80211_emulate_switch_vif_chanctx,
.tx = mt7603_tx,
.start = mt7603_start,
.stop = mt7603_stop,
--- a/mt7615/main.c
+++ b/mt7615/main.c
@@ -91,7 +91,7 @@
--- a/mt7996/main.c
+++ b/mt7996/main.c
@@ -93,7 +93,7 @@ static int mt7996_start(struct ieee80211
return ret;
}
-static void mt7615_stop(struct ieee80211_hw *hw, bool suspend)
+static void mt7615_stop(struct ieee80211_hw *hw)
-static void mt7996_stop(struct ieee80211_hw *hw, bool suspend)
+static void mt7996_stop(struct ieee80211_hw *hw)
{
struct mt7615_dev *dev = mt7615_hw_dev(hw);
struct mt7615_phy *phy = mt7615_hw_phy(hw);
@@ -1313,10 +1313,6 @@
#endif /* CONFIG_PM */
struct mt7996_dev *dev = mt7996_hw_dev(hw);
struct mt7996_phy *phy = mt7996_hw_phy(hw);
@@ -1447,10 +1447,6 @@ mt7996_net_fill_forward_path(struct ieee
#endif
const struct ieee80211_ops mt7615_ops = {
const struct ieee80211_ops mt7996_ops = {
- .add_chanctx = ieee80211_emulate_add_chanctx,
- .remove_chanctx = ieee80211_emulate_remove_chanctx,
- .change_chanctx = ieee80211_emulate_change_chanctx,
- .switch_vif_chanctx = ieee80211_emulate_switch_vif_chanctx,
.tx = mt7615_tx,
.start = mt7615_start,
.stop = mt7615_stop,
--- a/mt7615/mcu.c
+++ b/mt7615/mcu.c
@@ -353,7 +353,7 @@
mt7615_mcu_csa_finish(void *priv, u8 *mac, struct ieee80211_vif *vif)
{
if (vif->bss_conf.csa_active)
- ieee80211_csa_finish(vif, 0);
+ ieee80211_csa_finish(vif);
.tx = mt7996_tx,
.start = mt7996_start,
.stop = mt7996_stop,
--- a/mt7996/mcu.c
+++ b/mt7996/mcu.c
@@ -353,7 +353,7 @@ mt7996_mcu_csa_finish(void *priv, u8 *ma
if (!vif->bss_conf.csa_active || vif->type == NL80211_IFTYPE_STATION)
return;
- ieee80211_csa_finish(vif, 0);
+ ieee80211_csa_finish(vif);
}
static void
--- a/mt7615/usb.c
+++ b/mt7615/usb.c
@@ -79,7 +79,7 @@
mutex_unlock(&usb->usb_ctrl_mtx);
@@ -383,7 +383,7 @@ mt7996_mcu_rx_radar_detected(struct mt79
&dev->rdd2_chandef,
GFP_ATOMIC);
else
- ieee80211_radar_detected(mphy->hw, NULL);
+ ieee80211_radar_detected(mphy->hw);
dev->hw_pattern++;
}
-static void mt7663u_stop(struct ieee80211_hw *hw, bool suspend)
+static void mt7663u_stop(struct ieee80211_hw *hw)
{
struct mt7615_phy *phy = mt7615_hw_phy(hw);
struct mt7615_dev *dev = hw->priv;
@@ -433,7 +433,7 @@ mt7996_mcu_cca_finish(void *priv, u8 *ma
if (!vif->bss_conf.color_change_active || vif->type == NL80211_IFTYPE_STATION)
return;
- ieee80211_color_change_finish(vif, 0);
+ ieee80211_color_change_finish(vif);
}
static void
--- a/tx.c
+++ b/tx.c
@@ -350,7 +350,7 @@ mt76_tx(struct mt76_phy *phy, struct iee
info->hw_queue |= FIELD_PREP(MT_TX_HW_QUEUE_PHY, phy->band_idx);
if ((info->flags & IEEE80211_TX_CTL_TX_OFFCHAN) ||
- (info->control.flags & IEEE80211_TX_CTRL_DONT_USE_RATE_MASK))
+ (info->control.flags & IEEE80211_TX_CTRL_SCAN_TX))
head = &wcid->tx_offchannel;
else
head = &wcid->tx_pending;
@@ -1,3 +1,12 @@
--- a/Makefile
+++ b/Makefile
@@ -1,5 +1,5 @@
# SPDX-License-Identifier: GPL-2.0-only
-EXTRA_CFLAGS += -Werror -DCONFIG_MT76_LEDS
+EXTRA_CFLAGS += -Werror -Wno-unused-variable -DCONFIG_MT76_LEDS
obj-m := mt76.o
obj-$(CONFIG_MT76_USB) += mt76-usb.o
obj-$(CONFIG_MT76_SDIO) += mt76-sdio.o
--- a/mac80211.c
+++ b/mac80211.c
@@ -582,7 +582,11 @@ int mt76_create_page_pool(struct mt76_de
@@ -7,11 +7,9 @@ Subject: [PATCH] add tx_power check during eeprom loading for BE14
mt7996/eeprom.c | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/mt7996/eeprom.c b/mt7996/eeprom.c
index 53dfac02f..a699668ca 100644
--- a/mt7996/eeprom.c
+++ b/mt7996/eeprom.c
@@ -206,6 +206,13 @@ static int mt7996_eeprom_load(struct mt7996_dev *dev)
@@ -206,6 +206,13 @@ static int mt7996_eeprom_load(struct mt7
goto out;
}
}