Commit 58e9df46 authored by Arend van Spriel's avatar Arend van Spriel Committed by John W. Linville

brcmfmac: reinit watchdog completion after handling watchdog

The watchdog thread waits on completion that is set from a timer. As
the completion is count based this could mean that on a busy system
the watchdog is handled multiple times with a very short interval.
This is not the intended behaviour. After handling the watchdog it
should wait for the next timer expiry. This is accomplished by
reinitializing the completion.
Reviewed-by: default avatarHante Meuleman <meuleman@broadcom.com>
Reviewed-by: default avatarPieter-Paul Giesberts <pieterpg@broadcom.com>
Signed-off-by: default avatarArend van Spriel <arend@broadcom.com>
Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
parent d2353679
...@@ -3994,6 +3994,7 @@ brcmf_sdio_watchdog_thread(void *data) ...@@ -3994,6 +3994,7 @@ brcmf_sdio_watchdog_thread(void *data)
brcmf_sdio_bus_watchdog(bus); brcmf_sdio_bus_watchdog(bus);
/* Count the tick for reference */ /* Count the tick for reference */
bus->sdcnt.tickcnt++; bus->sdcnt.tickcnt++;
reinit_completion(&bus->watchdog_wait);
} else } else
break; break;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment