OSDN Git Service

mt76: mt7921s: fix suspend error with enlarging mcu timeout value
authorSean Wang <sean.wang@mediatek.com>
Wed, 15 Dec 2021 21:25:37 +0000 (05:25 +0800)
committerFelix Fietkau <nbd@nbd.name>
Sun, 19 Dec 2021 14:24:04 +0000 (15:24 +0100)
Fix the false positive suspend error that may occur on mt7921s
with enlarging mcu timeout value.

The reason why we have to enlarge mcu timeout from HZ / 3 to HZ is
we should consider the additional overhead caused by running
concurrently with btmtksdio (a MT7921 bluetooth SDIO driver) that
would compete for the same SDIO bus in process context to complete
the suspend procedure.

Fixes: 48fab5bbef40 ("mt76: mt7921: introduce mt7921s support")
Signed-off-by: Sean Wang <sean.wang@mediatek.com>
Signed-off-by: Felix Fietkau <nbd@nbd.name>
drivers/net/wireless/mediatek/mt76/mt7921/mcu.c

index a2c892b..ef1e1ef 100644 (file)
@@ -226,7 +226,7 @@ int mt7921_mcu_fill_message(struct mt76_dev *mdev, struct sk_buff *skb,
        if (cmd == MCU_UNI_CMD(HIF_CTRL) ||
            cmd == MCU_UNI_CMD(SUSPEND) ||
            cmd == MCU_UNI_CMD(OFFLOAD))
-               mdev->mcu.timeout = HZ / 3;
+               mdev->mcu.timeout = HZ;
        else
                mdev->mcu.timeout = 3 * HZ;