wifi: rt2x00: restart beacon queue when hardware reset
authorShiji Yang <yangshiji66@outlook.com>
Sat, 4 Nov 2023 08:58:00 +0000 (16:58 +0800)
committerKalle Valo <kvalo@kernel.org>
Wed, 8 Nov 2023 18:14:10 +0000 (20:14 +0200)
commita11d965a218f0cd95b13fe44d0bcd8a20ce134a8
treee7f8c530ea5be18ef4b5f20771b73e089be032c5
parent570beb6285fd355904b22625da20809f477096c5
wifi: rt2x00: restart beacon queue when hardware reset

When a hardware reset is triggered, all registers are reset, so all
queues are forced to stop in hardware interface. However, mac80211
will not automatically stop the queue. If we don't manually stop the
beacon queue, the queue will be deadlocked and unable to start again.
This patch fixes the issue where Apple devices cannot connect to the
AP after calling ieee80211_restart_hw().

Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Acked-by: Stanislaw Gruszka <stf_xl@wp.pl>
Signed-off-by: Kalle Valo <kvalo@kernel.org>
Link: https://lore.kernel.org/r/TYAP286MB031530EB6D98DCE4DF20766CBCA4A@TYAP286MB0315.JPNP286.PROD.OUTLOOK.COM
drivers/net/wireless/ralink/rt2x00/rt2x00dev.c
drivers/net/wireless/ralink/rt2x00/rt2x00mac.c