It does not make sense to forward MIC-errors on non-decrypted frames. Signed-off-by: Johan Hovold <johan.hovold@xxxxxxxxxxxx> --- drivers/net/wireless/ath/ath9k/common.c | 12 ++++++++---- 1 files changed, 8 insertions(+), 4 deletions(-) diff --git a/drivers/net/wireless/ath/ath9k/common.c b/drivers/net/wireless/ath/ath9k/common.c index 1623af1..6efb388 100644 --- a/drivers/net/wireless/ath/ath9k/common.c +++ b/drivers/net/wireless/ath/ath9k/common.c @@ -255,11 +255,15 @@ void ath9k_cmn_rx_skb_postprocess(struct ath_common *common, keyix = rx_stats->rs_keyix; - if (ieee80211_has_protected(fc) && !decrypt_error && - !(rx_stats->rs_flags & ATH9K_RX_DECRYPT_BUSY) && - !(rx_stats->rs_flags & ATH9K_RX_KEY_MISS)) { - if (keyix != ATH9K_RXKEYIX_INVALID) + if (ieee80211_has_protected(fc)) { + if (!decrypt_error && + !(rx_stats->rs_flags & ATH9K_RX_DECRYPT_BUSY) && + !(rx_stats->rs_flags & ATH9K_RX_KEY_MISS) && + keyix != ATH9K_RXKEYIX_INVALID) { rxs->flag |= RX_FLAG_DECRYPTED; + } + if (!(rxs->flag & RX_FLAG_DECRYPTED)) + rxs->flag &= ~RX_FLAG_MMIC_ERROR; } if (ah->sw_mgmt_crypto && (rxs->flag & RX_FLAG_DECRYPTED) && -- 1.7.0.3 -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html