1
linux/net/mac80211
Daniel Halperin 499fe9a419 mac80211: fix aggregation frame release during timeout
Suppose the aggregation reorder buffer looks like this:

x-T-R1-y-R2,

where x and y are frames that have not been received, T is a received
frame that has timed out, and R1,R2 are received frames that have not
yet timed out. The proper behavior in this scenario is to move the
window past x (skipping it), release T and R1, and leave the window at y
until y is received or R2 times out.

As written, this code will instead leave the window at R1, because it
has not yet timed out. Fix this by exiting the reorder loop only when
the frame that has not timed out AND there are skipped frames earlier in
the current valid window.

Signed-off-by: Daniel Halperin <dhalperi@cs.washington.edu>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2011-03-28 15:42:02 -04:00
..
aes_ccm.c
aes_ccm.h
aes_cmac.c
aes_cmac.h
agg-rx.c Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6 2011-01-28 16:23:14 -05:00
agg-tx.c mac80211: allow advertising correct maximum aggregate size 2011-01-19 11:36:12 -05:00
cfg.c mac80211: implement support for cfg80211_ops->{get,set}_ringparam 2011-03-11 15:34:10 -05:00
cfg.h
chan.c mac80211: fix channel type recalculation with HT and non-HT interfaces 2011-03-14 14:46:58 -04:00
debugfs_key.c mac80211: support separate default keys 2010-12-13 15:23:29 -05:00
debugfs_key.h mac80211: support separate default keys 2010-12-13 15:23:29 -05:00
debugfs_netdev.c mac80211: Add testing functionality for TKIP 2011-02-03 16:45:29 -05:00
debugfs_netdev.h
debugfs_sta.c mac80211: Add timeout to BA session start API 2010-12-15 17:03:59 -05:00
debugfs_sta.h
debugfs.c mac80211: Add power to debugfs. 2011-02-18 16:53:21 -05:00
debugfs.h
driver-ops.h mac80211: implement support for cfg80211_ops->{get,set}_ringparam 2011-03-11 15:34:10 -05:00
driver-trace.c
driver-trace.h mac80211: implement support for cfg80211_ops->{get,set}_ringparam 2011-03-11 15:34:10 -05:00
event.c
ht.c mac80211: copy peer MCS TX parameters 2011-02-25 15:33:39 -05:00
ibss.c mac80211: remove IBSS merge delay 2011-02-25 15:32:34 -05:00
ieee80211_i.h mac80211: support direct offchannel TX offload 2011-02-25 15:33:40 -05:00
iface.c Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2011-03-03 21:27:42 -08:00
Kconfig Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 into for-davem 2011-03-04 14:10:40 -05:00
key.c mac80211: fix possible NULL pointer dereference 2011-03-28 15:42:02 -04:00
key.h mac80211: remove unused macros 2011-03-07 13:48:30 -05:00
led.c mac80211: remove stray extern 2011-01-05 16:07:12 -05:00
led.h mac80211: selective throughput LED trigger active 2010-12-22 14:33:37 -05:00
main.c mac80211: Add log message to ieee80211_restart_hw() 2011-03-07 13:51:04 -05:00
Makefile
mesh_hwmp.c nl80211/mac80211: define and allow configuring mesh element TTL 2010-12-06 16:01:28 -05:00
mesh_pathtbl.c nl80211/mac80211: define and allow configuring mesh element TTL 2010-12-06 16:01:28 -05:00
mesh_plink.c mac80211: Let userspace enable and configure vendor specific path selection. 2010-12-20 14:46:57 -05:00
mesh.c cfg80211: Extend channel to frequency mapping for 802.11j 2011-01-21 15:34:17 -05:00
mesh.h mac80211: Remove unused third address from mesh address extension header. 2010-12-20 14:49:47 -05:00
michael.c
michael.h
mlme.c mac80211: do not enable ps if 802.1x controlled port is unblocked 2011-03-11 14:15:37 -05:00
offchannel.c mac80211: Optimize scans on current operating channel. 2011-02-04 16:30:32 -05:00
pm.c
rate.c cfg80211/mac80211: improve ad-hoc multicast rate handling 2010-11-24 16:19:35 -05:00
rate.h
rc80211_minstrel_debugfs.c
rc80211_minstrel_ht_debugfs.c
rc80211_minstrel_ht.c mac80211: fix a crash in minstrel_ht in HT mode with no supported MCS rates 2011-03-28 15:42:01 -04:00
rc80211_minstrel_ht.h
rc80211_minstrel.c
rc80211_minstrel.h
rc80211_pid_algo.c
rc80211_pid_debugfs.c
rc80211_pid.h mac80211: remove unused macros 2011-03-07 13:48:30 -05:00
rx.c mac80211: fix aggregation frame release during timeout 2011-03-28 15:42:02 -04:00
scan.c mac80211: fix scan race, simplify code 2011-03-07 13:51:04 -05:00
spectmgmt.c
sta_info.c mac80211: initialize sta->last_rx in sta_info_alloc 2011-03-21 15:19:50 -04:00
sta_info.h mac80211: add support for showing the last rx bitrate 2011-03-01 13:48:21 -05:00
status.c mac80211: support direct offchannel TX offload 2011-02-25 15:33:40 -05:00
tkip.c
tkip.h
tx.c Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2011-03-18 10:37:40 -07:00
util.c Merge ssh://master.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6 2011-02-18 17:03:41 -05:00
wep.c
wep.h
wme.c mac80211: cleanup select_queue 2010-12-22 15:44:22 -05:00
wme.h
work.c mac80211: remove unused macros 2011-03-07 13:48:30 -05:00
wpa.c mac80211: Add testing functionality for TKIP 2011-02-03 16:45:29 -05:00
wpa.h