On Tue, Jan 15, 2019 at 11:40:28AM +0200, Lauri Tirkkonen wrote: > On Tue, Jan 15 2019 10:30:47 +0100, Stefan Sperling wrote: > > Turns out we need to allow "no data" frames to pass a bit further into > > ieee80211_input() because they carry sequence numbers and because they > > are used to toggle power-saving state via IEEE80211_FC1_PWR_MGT in the > > frame header. > > > > I've checked what Linux mac80211 does -- it ignores "no data" frames > > for A-MPDU reordering like we already did (good!), but it drops them > > right before decryption. So your original diff was actually correct, > > apart from the memory leak ;-) > > oh, heh :) > > > Does this diff work? You should now be able to see 'no data' frames > > on your AP with 'tcpdump -n -i athn0 -y IEEE802_11_RADIO' as well. > > indeed it does - iperf connection works again and pings aren't lost. and > nodata frames are visible with tcpdump. > > I notice this diff doesn't increment a counter for the nodata frames > anymore, but that seems reasonable since we are indeed using them for > something, not ignoring them completely.
Thanks a lot for your help. These changes have been committed.