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 <quan.zhou@mediatek.com> Link: https://patch.msgid.link/34208c7280325f57a651363d339399eb1744d3b7.1740400998.git.quan.zhou@mediatek.com Signed-off-by: Felix Fietkau <nbd@nbd.name>
This commit is contained in:
@@ -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;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user