mac80211: Fix bug in getting rx status for frames pending in reorder buffer
commited7c3d0616251fbabe8c0b63713235b881312eb0
authorVasanthakumar Thiagarajan <vasanth@atheros.com>
Fri, 24 Apr 2009 16:05:33 +0000 (24 16:05 +0000)
committerGreg Kroah-Hartman <gregkh@suse.de>
Fri, 8 May 2009 22:44:58 +0000 (8 15:44 -0700)
tree1ced2abb59fe6640c372147c9f19f0da2e3759c6
parent217b4400b6d789dbbd55d854d5f4db9d3a5817d1
mac80211: Fix bug in getting rx status for frames pending in reorder buffer

upstream commit: b3631286aca3f54427ca0eb950981e9753866f6c

Currently rx status for frames which are completed from reorder buffer
is taken from it's cb area which is not always right, cb is not holding
the rx status when driver uses mac80211's non-irq rx handler to pass it's
received frames. This results in dropping almost all frames from reorder
buffer when security is enabled by doing double decryption (first in hw,
second in sw because of wrong rx status). This patch copies rx status into
cb area before the frame is put into reorder buffer. After this patch,
there is a significant improvement in throughput with ath9k + WPA2(AES).

Signed-off-by: Vasanthakumar Thiagarajan <vasanth@atheros.com>
Acked-by: Johannes Berg <johannes@sipsolutions.net>
Cc: stable@kernel.org
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Signed-off-by: Chris Wright <chrisw@sous-sol.org>
net/mac80211/rx.c