mt76: mt7921: disable runtime pm for usb
authorLorenzo Bianconi <lorenzo@kernel.org>
Mon, 14 Mar 2022 15:10:26 +0000 (16:10 +0100)
committerFelix Fietkau <nbd@nbd.name>
Wed, 16 Mar 2022 16:40:23 +0000 (17:40 +0100)
Runtime-pm is not currently supported by usb driver

Tested-by: Sean Wang <sean.wang@mediatek.com>
Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org>
Signed-off-by: Felix Fietkau <nbd@nbd.name>
drivers/net/wireless/mediatek/mt76/mt7921/debugfs.c
drivers/net/wireless/mediatek/mt76/mt7921/init.c

index 32004b5..bce7641 100644 (file)
@@ -267,6 +267,9 @@ mt7921_pm_set(void *data, u64 val)
        struct mt7921_dev *dev = data;
        struct mt76_connac_pm *pm = &dev->pm;
 
+       if (mt76_is_usb(&dev->mt76))
+               return -EOPNOTSUPP;
+
        mutex_lock(&dev->mt76.mutex);
 
        if (val == pm->enable_user)
@@ -311,6 +314,9 @@ mt7921_deep_sleep_set(void *data, u64 val)
        bool monitor = !!(dev->mphy.hw->conf.flags & IEEE80211_CONF_MONITOR);
        bool enable = !!val;
 
+       if (mt76_is_usb(&dev->mt76))
+               return -EOPNOTSUPP;
+
        mt7921_mutex_acquire(dev);
        if (pm->ds_enable_user == enable)
                goto out;
index fa6af85..54f51e7 100644 (file)
@@ -226,10 +226,12 @@ int mt7921_register_device(struct mt7921_dev *dev)
        dev->pm.idle_timeout = MT7921_PM_TIMEOUT;
        dev->pm.stats.last_wake_event = jiffies;
        dev->pm.stats.last_doze_event = jiffies;
-       dev->pm.enable_user = true;
-       dev->pm.enable = true;
-       dev->pm.ds_enable_user = true;
-       dev->pm.ds_enable = true;
+       if (!mt76_is_usb(&dev->mt76)) {
+               dev->pm.enable_user = true;
+               dev->pm.enable = true;
+               dev->pm.ds_enable_user = true;
+               dev->pm.ds_enable = true;
+       }
 
        if (mt76_is_sdio(&dev->mt76))
                hw->extra_tx_headroom += MT_SDIO_TXD_SIZE + MT_SDIO_HDR_SIZE;