Bladeren bron

qcacld-3.0: Send probe response template before VDEV up

Send probe response template before VDEV up. Currently probe response
template is being sent after VDEV up which is resulting in probe
response offload handler to be not registered correctly.

Change-Id: I00b4043aa7ed63a15e83a3762c242c300d310ebf
CRs-Fixed: 1107174
Krishna Kumaar Natarajan 8 jaren geleden
bovenliggende
commit
f6c9630097
1 gewijzigde bestanden met toevoegingen van 14 en 19 verwijderingen
  1. 14 19
      core/mac/src/pe/sch/sch_api.c

+ 14 - 19
core/mac/src/pe/sch/sch_api.c

@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2011-2016 The Linux Foundation. All rights reserved.
+ * Copyright (c) 2011-2017 The Linux Foundation. All rights reserved.
  *
  * Previously licensed under the ISC license by Qualcomm Atheros, Inc.
  *
@@ -198,10 +198,21 @@ tSirRetStatus sch_send_beacon_req(tpAniSirGlobal pMac, uint8_t *beaconPayload,
 	tSirRetStatus retCode;
 
 	sch_log(pMac, LOG2,
-		FL
-			("Indicating HAL to copy the beacon template [%d bytes] to memory"),
+		FL("Indicating HAL to copy the beacon template [%d bytes] to memory"),
 		size);
 
+	if (LIM_IS_AP_ROLE(psessionEntry) &&
+	   (pMac->sch.schObject.fBeaconChanged)) {
+		retCode = lim_send_probe_rsp_template_to_hal(pMac,
+				psessionEntry,
+				&psessionEntry->DefProbeRspIeBitmap[0]);
+		if (eSIR_SUCCESS != retCode) {
+			sch_log(pMac, LOGE,
+				FL("FAILED to send probe response template with retCode %d"),
+				retCode);
+		}
+	}
+
 	beaconParams = qdf_mem_malloc(sizeof(tSendbeaconParams));
 	if (NULL == beaconParams)
 		return eSIR_MEM_ALLOC_FAILED;
@@ -266,22 +277,6 @@ tSirRetStatus sch_send_beacon_req(tpAniSirGlobal pMac, uint8_t *beaconPayload,
 	} else {
 		sch_log(pMac, LOG2,
 			FL("Successfully posted WMA_SEND_BEACON_REQ to HAL"));
-
-		if (LIM_IS_AP_ROLE(psessionEntry) &&
-		   (pMac->sch.schObject.fBeaconChanged)) {
-			retCode = lim_send_probe_rsp_template_to_hal(pMac,
-								     psessionEntry,
-								     &psessionEntry->
-								     DefProbeRspIeBitmap
-								     [0]);
-			if (eSIR_SUCCESS != retCode) {
-				/* check whether we have to free any memory */
-				sch_log(pMac, LOGE,
-					FL
-						("FAILED to send probe response template with retCode %d"),
-					retCode);
-			}
-		}
 	}
 
 	return retCode;