On Tue, Dec 25, 2018 at 11:43:09PM +0100, Tom Psyborg wrote: > Even with your patches that are currently being tested i had interface > frozen yesterday. 2 android pads, 2 android phones and laptop with > intel card on win10. Wlan frozen about half an hour after bootup, had > to restart interface that revelaed more queue problems: > > [ 238.715836] IPv6: ADDRCONF(NETDEV_CHANGE): wlan1: link becomes ready > [ 238.722681] br-lan: port 2(wlan1) entered blocking state > [ 238.728107] br-lan: port 2(wlan1) entered forwarding state > [ 2403.051342] device wlan1 left promiscuous mode > [ 2403.056021] br-lan: port 2(wlan1) entered disabled state > [ 2403.213039] ieee80211 phy1: rt2800_config_channel: Warning - Using > incomplete support for external PA Yes, patches will not help if device is not programed properly, i.e. when external PA is not well configured. I already pointed this here: https://lore.kernel.org/linux-wireless/20180815114029.GA1862@xxxxxxxxxx/ Register programming should be fixed there and also whould be good to implement watchdog to recover from wifi hung it it happens. > [ 2403.522622] ieee80211 phy1: rt2x00queue_flush_queue: Warning - > Queue 0 failed to flush > [ 2403.817143] ieee80211 phy1: rt2x00queue_flush_queue: Warning - > Queue 1 failed to flush > [ 2404.058047] ieee80211 phy1: rt2x00queue_flush_queue: Warning - > Queue 2 failed to flush > [ 2404.299509] ieee80211 phy1: rt2x00queue_flush_queue: Warning - > Queue 3 failed to flush > [ 2404.566195] ieee80211 phy1: rt2x00queue_flush_queue: Warning - > Queue 0 failed to flush > [ 2404.806880] ieee80211 phy1: rt2x00queue_flush_queue: Warning - > Queue 1 failed to flush > [ 2405.047624] ieee80211 phy1: rt2x00queue_flush_queue: Warning - > Queue 2 failed to flush > [ 2405.288195] ieee80211 phy1: rt2x00queue_flush_queue: Warning - > Queue 3 failed to flush Hmm, this one should be gone. Could you check attached patch? Thanks Stanislaw
diff --git a/drivers/net/wireless/ralink/rt2x00/rt2800soc.c b/drivers/net/wireless/ralink/rt2x00/rt2800soc.c index a502816214ab..05a801774713 100644 --- a/drivers/net/wireless/ralink/rt2x00/rt2800soc.c +++ b/drivers/net/wireless/ralink/rt2x00/rt2800soc.c @@ -203,7 +203,7 @@ static const struct rt2x00lib_ops rt2800soc_rt2x00_ops = { .start_queue = rt2800mmio_start_queue, .kick_queue = rt2800mmio_kick_queue, .stop_queue = rt2800mmio_stop_queue, - .flush_queue = rt2x00mmio_flush_queue, + .flush_queue = rt2800mmio_flush_queue, .write_tx_desc = rt2800mmio_write_tx_desc, .write_tx_data = rt2800_write_tx_data, .write_beacon = rt2800_write_beacon,