The tx_report purge_timer has been a souce of massive logging at times
in the past so it is the best shot in the dark for an endless queuing
of skbs. That would happen if more and more reports come in and the
timer gets pushed further and further and never expires and at the same
time the information is not picked up by rtw_tx_report_handle().
Add a WARN_ONCE to __skb_queue_purge() just to make sure there is no
glitch due to missing locking.
Also add a rolling error reporting for skb allocation failures in
LinuxKPI to gather some more information if possible about queue
states. In the rtw88 case when everything grinds to a halt this will
likely need kern.msgbufsize=1146880 (or 4M) in loader.conf to allow
bringing down wlan0 in time before all information from the beginning
scrolls away.
Sponsored by: The FreeBSD Foundation
MFC after: 1 week
X-MFC: first needs to show to help