OSDN Git Service

brcmfmac: Configure keep-alive packet on suspend
authorLoic Poulain <loic.poulain@linaro.org>
Mon, 22 Nov 2021 15:47:26 +0000 (16:47 +0100)
committerKalle Valo <kvalo@codeaurora.org>
Mon, 29 Nov 2021 10:24:59 +0000 (12:24 +0200)
commit7a6cfe28ae3ef6a78774fd1e21e3b76c90937112
tree0b2be7ce02cba2375c683122ab0cd90ddbf44013
parentd1e69b5492d1826356e516685977b41d60dbee26
brcmfmac: Configure keep-alive packet on suspend

When entering suspend as a client station with wowlan enabled,
the Wi-Fi link is supposed to be maintained. In that state, no
more data is generated from client side, and the link stays idle
as long the station is suspended and as long the AP as no data to
transmit.

However, most of the APs kick-off such 'inactive' stations after
few minutes, causing unexpected disconnect (reconnect, etc...).

The usual way to prevent this is to submit a Null function frame
periodically as a keep-alive. This is something that can be host
/software generated (e.g. wpa_supplicant), but that needs to be
offloaded to the Wi-Fi controller in case of suspended host.

This change enables firmware generated keep-alive frames when
entering wowlan suspend, using the 'mkeep_alive' IOVAR.

Signed-off-by: Loic Poulain <loic.poulain@linaro.org>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
Link: https://lore.kernel.org/r/1637596046-21651-1-git-send-email-loic.poulain@linaro.org
drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c
drivers/net/wireless/broadcom/brcm80211/brcmfmac/fwil_types.h