Browse Source

qcacld-3.0: Fix duplicate IE detection logic in missed API

In some parse APIs the duplicate IE detection logic is not present
and thus duplicate IE will be processed again.

Fix by adding logic in missed API to parse IEs.

Change-Id: I0ad5decf41e72783c211fca2ca56d796b08a1003
CRs-Fixed: 2441001
Abhishek Singh 6 years ago
parent
commit
173d469846
2 changed files with 9 additions and 9 deletions
  1. 1 1
      core/mac/src/include/dot11f.h
  2. 8 8
      core/mac/src/sys/legacy/src/utils/src/dot11f.c

+ 1 - 1
core/mac/src/include/dot11f.h

@@ -26,7 +26,7 @@
  *
  *
  * This file was automatically generated by 'framesc'
- * Mon Mar 25 14:48:07 2019 from the following file(s):
+ * Wed Apr 24 14:55:45 2019 from the following file(s):
  *
  * dot11f.frms
  *

+ 8 - 8
core/mac/src/sys/legacy/src/utils/src/dot11f.c

@@ -24,7 +24,7 @@
  *
  *
  * This file was automatically generated by 'framesc'
- * Mon Mar 25 14:48:07 2019 from the following file(s):
+ * Wed Apr 24 14:55:45 2019 from the following file(s):
  *
  * dot11f.frms
  *
@@ -8356,7 +8356,7 @@ uint32_t dot11f_unpack_ie_esp_information(tpAniSirGlobal pCtx,
 	uint32_t status = DOT11F_PARSE_SUCCESS;
 	(void) pBuf; (void)ielen; /* Shutup the compiler */
 	if (pDst->present)
-		status = DOT11F_DUPLICATE_IE;
+		return DOT11F_DUPLICATE_IE;
 	pDst->present = 1;
 	pDst->num_data = (uint8_t)(ielen);
 	if (ielen > 96) {
@@ -8381,7 +8381,7 @@ uint32_t dot11f_unpack_ie_ext_chan_switch_ann(tpAniSirGlobal pCtx,
 	uint32_t status = DOT11F_PARSE_SUCCESS;
 	(void) pBuf; (void)ielen; /* Shutup the compiler */
 	if (pDst->present)
-		status = DOT11F_DUPLICATE_IE;
+		return DOT11F_DUPLICATE_IE;
 	pDst->present = 1;
 	if (unlikely(ielen < 1)) {
 		pDst->present = 0;
@@ -8429,7 +8429,7 @@ uint32_t dot11f_unpack_ie_fils_assoc_delay_info(tpAniSirGlobal pCtx,
 	uint32_t status = DOT11F_PARSE_SUCCESS;
 	(void) pBuf; (void)ielen; /* Shutup the compiler */
 	if (pDst->present)
-		status = DOT11F_DUPLICATE_IE;
+		return DOT11F_DUPLICATE_IE;
 	pDst->present = 1;
 	if (unlikely(ielen < 1)) {
 		pDst->present = 0;
@@ -8696,7 +8696,7 @@ uint32_t dot11f_unpack_ie_he_cap(tpAniSirGlobal pCtx,
 	uint16_t tmp81__;
 	(void) pBuf; (void)ielen; /* Shutup the compiler */
 	if (pDst->present)
-		status = DOT11F_DUPLICATE_IE;
+		return DOT11F_DUPLICATE_IE;
 	pDst->present = 1;
 	if (unlikely(ielen < 4)) {
 		pDst->present = 0;
@@ -8939,7 +8939,7 @@ uint32_t dot11f_unpack_ie_he_op(tpAniSirGlobal pCtx,
 	uint8_t tmp84__;
 	(void) pBuf; (void)ielen; /* Shutup the compiler */
 	if (pDst->present)
-		status = DOT11F_DUPLICATE_IE;
+		return DOT11F_DUPLICATE_IE;
 	pDst->present = 1;
 	if (unlikely(ielen < 2)) {
 		pDst->present = 0;
@@ -9168,7 +9168,7 @@ uint32_t dot11f_unpack_ie_mu_edca_param_set(tpAniSirGlobal pCtx,
 	uint8_t tmp94__;
 	(void) pBuf; (void)ielen; /* Shutup the compiler */
 	if (pDst->present)
-		status = DOT11F_DUPLICATE_IE;
+		return DOT11F_DUPLICATE_IE;
 	pDst->present = 1;
 	if (unlikely(ielen < 1)) {
 		pDst->present = 0;
@@ -9332,7 +9332,7 @@ uint32_t dot11f_unpack_ie_roaming_consortium_sel(tpAniSirGlobal pCtx,
 	uint32_t status = DOT11F_PARSE_SUCCESS;
 	(void) pBuf; (void)ielen; /* Shutup the compiler */
 	if (pDst->present)
-		status = DOT11F_DUPLICATE_IE;
+		return DOT11F_DUPLICATE_IE;
 	pDst->present = 1;
 	pDst->num_data = (uint8_t)(ielen);
 	DOT11F_MEMCPY(pCtx, pDst->data, pBuf, (ielen));