Shiji Yang <yangshiji66@xxxxxxxxxxx> wrote: > The watchdog function is broken on rt2800 series SoCs. This patch > fixes the incorrect watchdog logic to make it work again. > > 1. Update current wdt queue index if it's not equal to the previous > index. Watchdog compares the current and previous queue index to > judge if the queue hung. > 2. Make sure hung_{rx,tx} 'true' status won't be override by the > normal queue. Any queue hangs should trigger a reset action. > 3. Clear the watchdog counter of all queues before resetting the > hardware. This change may help to avoid the reset loop. > 4. Change hang check function return type to bool as we only need > to return two status, yes or no. > > Signed-off-by: Shiji Yang <yangshiji66@xxxxxxxxxxx> > Acked-by: Stanislaw Gruszka <stf_xl@xxxxx> Patch applied to wireless-next.git, thanks. 69708fbb2c69 wifi: rt2x00: fix rt2800 watchdog function -- https://patchwork.kernel.org/project/linux-wireless/patch/TYAP286MB0315BC1D83D31154924F0D39BCD1A@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/ https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches