mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-28 10:41:38 -04:00
qcacmn: Handle decrypt error packets for invalid peers
Packets from STAs that are not associated are sometimes indicated as Decrypt error. Process these packets by sending a unicast Deauth packet to them. This is also required to trigger unicast Deauth, if the STA ignores broadcast Deauth and later send packets to AP in Deauthed state Change-Id: I6ebf848d4b9409931ae1750b5ff0617839b04105
This commit is contained in:
parent
5121951db6
commit
5c1b7881a1
1 changed files with 20 additions and 3 deletions
|
|
@ -1405,7 +1405,8 @@ done:
|
|||
while (nbuf) {
|
||||
struct dp_peer *peer;
|
||||
uint16_t peer_id;
|
||||
|
||||
uint8_t e_code;
|
||||
uint8_t *tlv_hdr;
|
||||
rx_tlv_hdr = qdf_nbuf_data(nbuf);
|
||||
|
||||
peer_id = hal_rx_mpdu_start_sw_peer_id_get(rx_tlv_hdr);
|
||||
|
|
@ -1506,8 +1507,24 @@ done:
|
|||
continue;
|
||||
|
||||
case HAL_RXDMA_ERR_DECRYPT:
|
||||
if (peer)
|
||||
DP_STATS_INC(peer, rx.err.decrypt_err, 1);
|
||||
pool_id = wbm_err_info.pool_id;
|
||||
e_code = wbm_err_info.rxdma_err_code;
|
||||
tlv_hdr = rx_tlv_hdr;
|
||||
if (peer) {
|
||||
DP_STATS_INC(peer, rx.err.
|
||||
decrypt_err, 1);
|
||||
} else {
|
||||
dp_rx_process_rxdma_err(soc,
|
||||
nbuf,
|
||||
tlv_hdr,
|
||||
NULL,
|
||||
e_code,
|
||||
pool_id
|
||||
);
|
||||
nbuf = next;
|
||||
continue;
|
||||
}
|
||||
|
||||
QDF_TRACE(QDF_MODULE_ID_DP,
|
||||
QDF_TRACE_LEVEL_DEBUG,
|
||||
"Packet received with Decrypt error");
|
||||
|
|
|
|||
Loading…
Reference in a new issue