summaryrefslogtreecommitdiff
path: root/core/wma/src/wma_mgmt.c
diff options
context:
space:
mode:
authorSecurityBot AutoMerger <android-nexus-securitybot@system.gserviceaccount.com>2019-12-20 14:12:40 -0800
committerSecurityBot <android-nexus-securitybot@system.gserviceaccount.com>2019-12-20 14:12:40 -0800
commit88de4bddbf8af01150c5f780de856c32453adf0a (patch)
treeccaaf0319b7aa07b42556d25ef97ff4159770931 /core/wma/src/wma_mgmt.c
parent9de09b5a744d931ad99e350cb6bc0642c54424a3 (diff)
parent05007d5bba53fbc4472829b39993748c1b165eb2 (diff)
downloadqcacld-android-msm-crosshatch-4.9-r-preview-1.tar.gz
SBMerger: 284775313 Change-Id: Ib3cf65c3cd343a76a830ec7d77d60bd863ba7a71 Signed-off-by: SecurityBot <android-nexus-securitybot@system.gserviceaccount.com>
Diffstat (limited to 'core/wma/src/wma_mgmt.c')
-rw-r--r--core/wma/src/wma_mgmt.c50
1 files changed, 23 insertions, 27 deletions
diff --git a/core/wma/src/wma_mgmt.c b/core/wma/src/wma_mgmt.c
index 784b553901..fbd7be256a 100644
--- a/core/wma/src/wma_mgmt.c
+++ b/core/wma/src/wma_mgmt.c
@@ -3537,37 +3537,33 @@ static bool wma_is_pkt_drop_candidate(tp_wma_handle wma_handle,
}
switch (subtype) {
- case SIR_MAC_MGMT_ASSOC_REQ:
- if (peer->last_assoc_rcvd) {
- if (qdf_get_system_timestamp() - peer->last_assoc_rcvd <
- WMA_MGMT_FRAME_DETECT_DOS_TIMER) {
- WMA_LOGD(FL("Dropping Assoc Req received"));
- should_drop = true;
- }
+ case IEEE80211_FC0_SUBTYPE_ASSOC_REQ:
+ if (peer->last_assoc_rcvd &&
+ qdf_system_time_before(qdf_get_system_timestamp(),
+ peer->last_assoc_rcvd + WMA_MGMT_FRAME_DETECT_DOS_TIMER)) {
+ WMA_LOGD(FL("Dropping Assoc Req as it is received after %d ms of last frame. Allow it only after %d ms"),
+ (int) (qdf_get_system_timestamp() -
+ peer->last_assoc_rcvd),
+ WMA_MGMT_FRAME_DETECT_DOS_TIMER);
+ should_drop = true;
+ break;
}
peer->last_assoc_rcvd = qdf_get_system_timestamp();
break;
- case SIR_MAC_MGMT_DISASSOC:
- if (peer->last_disassoc_rcvd) {
- if (qdf_get_system_timestamp() -
- peer->last_disassoc_rcvd <
- WMA_MGMT_FRAME_DETECT_DOS_TIMER) {
- WMA_LOGI(FL("Dropping DisAssoc received"));
- should_drop = true;
- }
- }
- peer->last_disassoc_rcvd = qdf_get_system_timestamp();
- break;
- case SIR_MAC_MGMT_DEAUTH:
- if (peer->last_deauth_rcvd) {
- if (qdf_get_system_timestamp() -
- peer->last_deauth_rcvd <
- WMA_MGMT_FRAME_DETECT_DOS_TIMER) {
- WMA_LOGI(FL("Dropping Deauth received"));
- should_drop = true;
- }
+ case IEEE80211_FC0_SUBTYPE_DISASSOC:
+ case IEEE80211_FC0_SUBTYPE_DEAUTH:
+ if (peer->last_disassoc_deauth_rcvd &&
+ qdf_system_time_before(qdf_get_system_timestamp(),
+ peer->last_disassoc_deauth_rcvd +
+ WMA_MGMT_FRAME_DETECT_DOS_TIMER)) {
+ WMA_LOGD(FL("Dropping subtype %x frame as it is received after %d ms of last frame. Allow it only after %d ms"),
+ subtype, (int) (qdf_get_system_timestamp() -
+ peer->last_disassoc_deauth_rcvd),
+ WMA_MGMT_FRAME_DETECT_DOS_TIMER);
+ should_drop = true;
+ break;
}
- peer->last_deauth_rcvd = qdf_get_system_timestamp();
+ peer->last_disassoc_deauth_rcvd = qdf_get_system_timestamp();
break;
default:
break;