mac80211: fix offloaded BA session traffic after hw restart
authorMichal Kazior <michal.kazior@tieto.com>
Tue, 2 Sep 2014 12:05:10 +0000 (14:05 +0200)
committerJohannes Berg <johannes.berg@intel.com>
Wed, 3 Sep 2014 11:40:38 +0000 (13:40 +0200)
commit4549cf2b1803d29cfd019f7bfeaa784f8f9c558f
treebf39255e299b752cea30ce8437b9a685b189e5d4
parentd0616613d9cf17919fbd46fa0274db4b0084ad62
mac80211: fix offloaded BA session traffic after hw restart

When starting an offloaded BA session it is
unknown what starting sequence number should be
used. Using last_seq worked in most cases except
after hw restart.

When hw restart is requested last_seq is
(rightfully so) kept unmodified. This ended up
with BA sessions being restarted with an aribtrary
BA window values resulting in dropped frames until
sequence numbers caught up.

Instead of last_seq pick seqno of a first Rxed
frame of a given BA session.

This fixes stalled traffic after hw restart with
offloaded BA sessions (currently only ath10k).

Signed-off-by: Michal Kazior <michal.kazior@tieto.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
net/mac80211/agg-rx.c
net/mac80211/ieee80211_i.h
net/mac80211/iface.c
net/mac80211/rx.c
net/mac80211/sta_info.h