--- a/drivers/net/wireless/ath/ath9k/mac.c +++ b/drivers/net/wireless/ath/ath9k/mac.c @@ -701,6 +701,8 @@ int ath9k_hw_rxprocdesc(struct ath_hw *a rs->rs_flags |= ATH9K_RX_DELIM_CRC_POST; if (ads.ds_rxstatus8 & AR_DecryptBusyErr) rs->rs_flags |= ATH9K_RX_DECRYPT_BUSY; + if (ads.ds_rxstatus8 & AR_KeyMiss) + rs->rs_keyix = ATH9K_RXKEYIX_INVALID; if ((ads.ds_rxstatus8 & AR_RxFrameOK) == 0) { if (ads.ds_rxstatus8 & AR_CRCErr) --- a/drivers/net/wireless/ath/ath9k/ar9003_mac.c +++ b/drivers/net/wireless/ath/ath9k/ar9003_mac.c @@ -578,6 +578,9 @@ int ath9k_hw_process_rxdesc_edma(struct if (rxsp->status11 & AR_DecryptBusyErr) rxs->rs_flags |= ATH9K_RX_DECRYPT_BUSY; + if (rxsp->status11 & AR_KeyMiss) + rxs->rs_keyix = ATH9K_RXKEYIX_INVALID; + if ((rxsp->status11 & AR_RxFrameOK) == 0) { if (rxsp->status11 & AR_CRCErr) { rxs->rs_status |= ATH9K_RXERR_CRC;