From 325f7b451c03372f10b45afe5e41050f075b7fdb Mon Sep 17 00:00:00 2001 From: Lorenzo Bianconi Date: Sun, 18 Apr 2021 18:45:35 +0200 Subject: [PATCH] mt76: connac: unschedule ps_work in mt76_connac_pm_wake In order to avoid synchronization issues between wake and ps works, cancel ps_work in mt76_connac_pm_wake routine Signed-off-by: Lorenzo Bianconi Signed-off-by: Felix Fietkau --- mt7615/mcu.c | 1 - mt76_connac_mac.c | 1 + mt7921/mcu.c | 1 - 3 files changed, 1 insertion(+), 2 deletions(-) diff --git a/mt7615/mcu.c b/mt7615/mcu.c index 7081bb4a..5890fee9 100644 --- a/mt7615/mcu.c +++ b/mt7615/mcu.c @@ -345,7 +345,6 @@ static int mt7615_mcu_lp_drv_pmctrl(struct mt7615_dev *dev) clear_bit(MT76_STATE_PM, &mphy->state); out: - dev->pm.last_activity = jiffies; mutex_unlock(&dev->pm.mutex); return err; diff --git a/mt76_connac_mac.c b/mt76_connac_mac.c index c5f5037f..32d664ac 100644 --- a/mt76_connac_mac.c +++ b/mt76_connac_mac.c @@ -13,6 +13,7 @@ int mt76_connac_pm_wake(struct mt76_phy *phy, struct mt76_connac_pm *pm) if (!mt76_is_mmio(dev)) return 0; + cancel_delayed_work_sync(&pm->ps_work); if (!test_bit(MT76_STATE_PM, &phy->state)) return 0; diff --git a/mt7921/mcu.c b/mt7921/mcu.c index ea00f6b6..44f02cbf 100644 --- a/mt7921/mcu.c +++ b/mt7921/mcu.c @@ -1289,7 +1289,6 @@ int mt7921_mcu_drv_pmctrl(struct mt7921_dev *dev) clear_bit(MT76_STATE_PM, &mphy->state); out: - dev->pm.last_activity = jiffies; mutex_unlock(&dev->pm.mutex); if (err)