ath9k: fix a WEP crypto related regression
commit b4a82a0
"ath9k_hw: fix interpretation of the rx KeyMiss flag"
fixed the interpretation of the KeyMiss flag for keycache based lookups,
however WEP encryption uses a static index, so KeyMiss is always asserted
for it, even though frames are decrypted properly.
Fix this by clearing the ATH9K_RXERR_KEYMISS flag if no keycache based
lookup was performed.
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Cc: stable@vger.kernel.org
Reported-by: Laurent Bonnans <bonnans.l@gmail.com>
Reported-by: Jurica Vukadin <u.ra604@googlemail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
parent
2da8cbf8a6
commit
f88373fa47
@ -822,6 +822,14 @@ static bool ath9k_rx_accept(struct ath_common *common,
|
|||||||
(ATH9K_RXERR_DECRYPT | ATH9K_RXERR_CRC | ATH9K_RXERR_MIC |
|
(ATH9K_RXERR_DECRYPT | ATH9K_RXERR_CRC | ATH9K_RXERR_MIC |
|
||||||
ATH9K_RXERR_KEYMISS));
|
ATH9K_RXERR_KEYMISS));
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Key miss events are only relevant for pairwise keys where the
|
||||||
|
* descriptor does contain a valid key index. This has been observed
|
||||||
|
* mostly with CCMP encryption.
|
||||||
|
*/
|
||||||
|
if (rx_stats->rs_keyix == ATH9K_RXKEYIX_INVALID)
|
||||||
|
rx_stats->rs_status &= ~ATH9K_RXERR_KEYMISS;
|
||||||
|
|
||||||
if (!rx_stats->rs_datalen)
|
if (!rx_stats->rs_datalen)
|
||||||
return false;
|
return false;
|
||||||
/*
|
/*
|
||||||
|
Loading…
Reference in New Issue
Block a user