mac80211: Fix bug in getting rx status for frames pending in reorder buffer
authorVasanthakumar Thiagarajan <vasanth@atheros.com>
Wed, 25 Mar 2009 12:40:18 +0000 (18:10 +0530)
committerJohn W. Linville <linville@tuxdriver.com>
Thu, 16 Apr 2009 14:39:02 +0000 (10:39 -0400)
commitb3631286aca3f54427ca0eb950981e9753866f6c
tree29b4cd152d6a5482bfc638cff6c5b93ab1dbf855
parent0ad8acaf434d360ad99813d981a68e605d6c8179
mac80211: Fix bug in getting rx status for frames pending in reorder buffer

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>
net/mac80211/rx.c