wifi: mt76: mt7925: Simplify HIF suspend handling to avoid suspend fail

System suspend failures may occur due to inappropriate
handling of traffic not idle event by the WiFi driver.
The WiFi firmware's traffic not idle indication does
not need to be tied to suspend. Fix the flow to ensuring
the system can suspend properly.

Signed-off-by: Quan Zhou <[email protected]>
Link: https://patch.msgid.link/34208c7280325f57a651363d339399eb1744d3b7.1740400998.git.quan.zhou@mediatek.com
Signed-off-by: Felix Fietkau <[email protected]>
This commit is contained in:
Quan Zhou
2025-03-10 13:01:25 +01:00
committed by Felix Fietkau
parent 901492c462
commit 24062ce4fa
+4 -8
View File
@@ -348,14 +348,10 @@ mt7925_mcu_handle_hif_ctrl_basic(struct mt792x_dev *dev, struct tlv *tlv)
basic = (struct mt7925_mcu_hif_ctrl_basic_tlv *)tlv;
if (basic->hifsuspend) {
if (basic->hif_tx_traffic_status == HIF_TRAFFIC_IDLE &&
basic->hif_rx_traffic_status == HIF_TRAFFIC_IDLE)
/* success */
dev->hif_idle = true;
else
/* busy */
/* invalid */
dev->hif_idle = false;
dev->hif_idle = true;
if (!(basic->hif_tx_traffic_status == HIF_TRAFFIC_IDLE &&
basic->hif_rx_traffic_status == HIF_TRAFFIC_IDLE))
dev_info(dev->mt76.dev, "Hif traffic not idle.\n");
} else {
dev->hif_resumed = true;
}