FAILED: patch "[PATCH] wifi: mt76: mt7925: update the power-saving flow" failed to apply to 6.12-stable tree
Subsystems (3)
[email protected]
maintainerThe patch below does not apply to the 6.12-stable tree.
If someone wants it applied there, or to any other stable or longterm tree, then please email the backport, including the original git commit id to <[email protected]>.
To reproduce the conflict and resubmit, you may use the following commands:
git fetch https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/ linux-6.12.y
git checkout FETCH_HEAD
git cherry-pick -x 276a568832577c81ec90b62dc506bbdc3781ca46
# <resolve conflicts, build, test, etc.>
git commit -s
git send-email --to '<[email protected]>' --in-reply-to '2025041741-willpower-humorous-58ec@gregkh' --subject-prefix 'PATCH 6.12.y' HEAD^..
Possible dependencies:
thanks,
greg k-h
------------------ original commit in Linus's tree ------------------
From 276a568832577c81ec90b62dc506bbdc3781ca46 Mon Sep 17 00:00:00 2001
From: Ming Yen Hsieh <[email protected]>
Date: Tue, 4 Mar 2025 16:08:51 -0800
Subject: [PATCH] wifi: mt76: mt7925: update the power-saving flow
After joining MLO, ensure that all links are setup before enabling power-saving.
drivers/net/wireless/mediatek/mt76/mt7925/init.c +1 -0
@@ -244,6 +244,7 @@ int mt7925_register_device(struct mt792x_dev *dev) dev->mt76.tx_worker.fn = mt792x_tx_worker;INIT_DELAYED_WORK (&dev->pm.ps_work, mt792x_pm_power_save_work); +INIT_DELAYED_WORK (&dev->mlo_pm_work, mt7925_mlo_pm_work);INIT_WORK (&dev->pm.wake_work, mt792x_pm_wake_work);spin_lock_init (&dev->pm.wake.lock);mutex_init (&dev->pm.mutex);
drivers/net/wireless/mediatek/mt76/mt7925/main.c +57 -11
120 lines not on this page · raw message
drivers/net/wireless/mediatek/mt76/mt7925/mt7925.h +1 -0
@@ -268,6 +268,7 @@ int mt7925_mcu_uni_tx_ba(struct mt792x_dev *dev,int mt7925_mcu_uni_rx_ba (struct mt792x_dev *dev,struct ieee80211_ampdu_params *params,bool enable); +void mt7925_mlo_pm_work (struct work_struct *work);void mt7925_scan_work (struct work_struct *work);void mt7925_roc_work (struct work_struct *work); int mt7925_mcu_uni_bss_ps(struct mt792x_dev *dev,
drivers/net/wireless/mediatek/mt76/mt792x.h +9 -0
@@ -82,6 +82,13 @@ enum mt792x_reg_power_type { MT_AP_VLP, }; +enum mt792x_mlo_pm_state { + MT792x_MLO_LINK_DISASSOC, + MT792x_MLO_LINK_ASSOC, + MT792x_MLO_CHANGED_PS_PENDING, + MT792x_MLO_CHANGED_PS, +}; + DECLARE_EWMA(avg_signal, 10, 8)struct mt792x_link_sta {
@@ -135,6 +142,7 @@ struct mt792x_vif {struct mt792x_phy *phy;u16 valid_links;u8 deflink_id; +enum mt792x_mlo_pm_state mlo_pm_state;struct work_struct csa_work;struct timer_list csa_timer;
@@ -240,6 +248,7 @@ struct mt792x_dev {const struct mt792x_irq_map *irq_map;struct work_struct ipv6_ns_work; +struct delayed_work mlo_pm_work;/* IPv6 addresses for WoWLAN */ struct sk_buff_head ipv6_ns_list;