mirror of https://gitee.com/openkylin/linux.git
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>
This commit is contained in:
parent
9982464379
commit
a7b134a767
|
@ -1027,6 +1027,7 @@ brcmf_sdio_bus_sleep(struct brcmf_sdio *bus, bool sleep, bool pendok)
|
||||||
/* Don't sleep if something is pending */
|
/* Don't sleep if something is pending */
|
||||||
if (atomic_read(&bus->intstatus) ||
|
if (atomic_read(&bus->intstatus) ||
|
||||||
atomic_read(&bus->ipend) > 0 ||
|
atomic_read(&bus->ipend) > 0 ||
|
||||||
|
bus->ctrl_frame_stat ||
|
||||||
(!atomic_read(&bus->fcstate) &&
|
(!atomic_read(&bus->fcstate) &&
|
||||||
brcmu_pktq_mlen(&bus->txq, ~bus->flowcontrol) &&
|
brcmu_pktq_mlen(&bus->txq, ~bus->flowcontrol) &&
|
||||||
data_ok(bus))) {
|
data_ok(bus))) {
|
||||||
|
|
Loading…
Reference in New Issue