瀏覽代碼

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 年之前
父節點
當前提交
f6c9630097
共有 1 個文件被更改,包括 14 次插入19 次删除
  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;