brcmfmac: keep SDIO watchdog running when console_interval is non-zero
brcmfmac host driver makes SDIO bus sleep and stops SDIO watchdog if no pending event or data. As a result, host driver does not poll firmware console buffer before buffer overflow, which leads to missing firmware logs. We should not stop SDIO watchdog if console_interval is non-zero in debug build. Signed-off-by: Wright Feng <wright.feng@cypress.com> Signed-off-by: Chi-hsien Lin <chi-hsien.lin@cypress.com> Signed-off-by: Kalle Valo <kvalo@codeaurora.org> Link: https://lore.kernel.org/r/20200604071835.3842-4-wright.feng@cypress.com
This commit is contained in:
parent
1eb4e9f629
commit
eccbf46b15
|
@ -3699,7 +3699,11 @@ static void brcmf_sdio_bus_watchdog(struct brcmf_sdio *bus)
|
||||||
if (bus->idlecount > bus->idletime) {
|
if (bus->idlecount > bus->idletime) {
|
||||||
brcmf_dbg(SDIO, "idle\n");
|
brcmf_dbg(SDIO, "idle\n");
|
||||||
sdio_claim_host(bus->sdiodev->func1);
|
sdio_claim_host(bus->sdiodev->func1);
|
||||||
brcmf_sdio_wd_timer(bus, false);
|
#ifdef DEBUG
|
||||||
|
if (!BRCMF_FWCON_ON() ||
|
||||||
|
bus->console_interval == 0)
|
||||||
|
#endif
|
||||||
|
brcmf_sdio_wd_timer(bus, false);
|
||||||
bus->idlecount = 0;
|
bus->idlecount = 0;
|
||||||
brcmf_sdio_bus_sleep(bus, true, false);
|
brcmf_sdio_bus_sleep(bus, true, false);
|
||||||
sdio_release_host(bus->sdiodev->func1);
|
sdio_release_host(bus->sdiodev->func1);
|
||||||
|
|
Loading…
Reference in New Issue