diff options
author | Hante Meuleman <meuleman@broadcom.com> | 2015-02-06 18:36:46 +0100 |
---|---|---|
committer | Kalle Valo <kvalo@codeaurora.org> | 2015-02-26 15:14:21 +0200 |
commit | a7b134a7676edf68d05fe44f0a045c14cadd66b2 (patch) | |
tree | 9b4e7360fcc32d8a427b049264d34a1ff0866fd7 | |
parent | 9982464379e81ece51ced03ebecbbcd34ea367a6 (diff) |
brcmfmac: Dont sleep when ctrl frames to transmit.
The SDIO watchdog will put the device in sleep mode when there is
no activity for some time and nothing to do anymore. This check
is incomplete and should also check if there is a control frame
to transmit.
Reviewed-by: Arend Van Spriel <arend@broadcom.com>
Reviewed-by: Franky (Zhenhui) Lin <frankyl@broadcom.com>
Reviewed-by: Pieter-Paul Giesberts <pieterpg@broadcom.com>
Reviewed-by: Daniel (Deognyoun) Kim <dekim@broadcom.com>
Signed-off-by: Hante Meuleman <meuleman@broadcom.com>
Signed-off-by: Arend van Spriel <arend@broadcom.com>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
-rw-r--r-- | drivers/net/wireless/brcm80211/brcmfmac/sdio.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/net/wireless/brcm80211/brcmfmac/sdio.c b/drivers/net/wireless/brcm80211/brcmfmac/sdio.c index 01b34a37dde0..257ee70feb5b 100644 --- a/drivers/net/wireless/brcm80211/brcmfmac/sdio.c +++ b/drivers/net/wireless/brcm80211/brcmfmac/sdio.c @@ -1027,6 +1027,7 @@ brcmf_sdio_bus_sleep(struct brcmf_sdio *bus, bool sleep, bool pendok) /* Don't sleep if something is pending */ if (atomic_read(&bus->intstatus) || atomic_read(&bus->ipend) > 0 || + bus->ctrl_frame_stat || (!atomic_read(&bus->fcstate) && brcmu_pktq_mlen(&bus->txq, ~bus->flowcontrol) && data_ok(bus))) { |