Skip to content

wifi: ath12k: skip WoW path when no vif is present#1221

Open
MilanoPipo wants to merge 1 commit into
qualcomm-linux:tech/net/athfrom
MilanoPipo:ath-new2
Open

wifi: ath12k: skip WoW path when no vif is present#1221
MilanoPipo wants to merge 1 commit into
qualcomm-linux:tech/net/athfrom
MilanoPipo:ath-new2

Conversation

@MilanoPipo
Copy link
Copy Markdown
Contributor

When userspace sets WoWLAN configuration (e.g. iw phy0 wowlan enable magic-packet) and then suspends with all interfaces administratively down, mac80211 still calls drv_suspend() with a wowlan config. The existing handler issues WMI_WOW_ENABLE_CMDID to firmware that has no active vdev, leaving it in an undefined state. On resume the device is inaccessible: MHI fails to leave M3, the PCIe link is unrecoverable and every subsequent WMI command times out.

Detect the empty arvifs list at op_suspend entry and return 1, which makes mac80211 fall back to its normal radio-off path (cfg80211_shutdown_all_interfaces) and skips the WoW handshake entirely.

When userspace sets WoWLAN configuration (e.g. iw phy0 wowlan enable
magic-packet) and then suspends with all interfaces administratively
down, mac80211 still calls drv_suspend() with a wowlan config. The
existing handler issues WMI_WOW_ENABLE_CMDID to firmware that has no
active vdev, leaving it in an undefined state. On resume the device is
inaccessible: MHI fails to leave M3, the PCIe link is unrecoverable
and every subsequent WMI command times out.

Detect the empty arvifs list at op_suspend entry and return 1, which
makes mac80211 fall back to its normal radio-off path
(cfg80211_shutdown_all_interfaces) and skips the WoW handshake
entirely.

Signed-off-by: Yingying Tang <yintang@qti.qualcomm.com>
@qcomlnxci qcomlnxci requested review from a team and miaoqing-quic and removed request for a team May 25, 2026 11:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant