Browse Source

qcacld-3.0: Free memory allocated for del sta params

Identify all the places where memory is not free'd in
case of WMA delete STA request and free it.

Change-Id: I97db2595d0b1d96bcbf97a28e9e1345504b30239
CRs-Fixed: 2133514
Varun Reddy Yeturu 7 years ago
parent
commit
3389427df8
3 changed files with 12 additions and 2 deletions
  1. 8 1
      core/wma/src/wma_dev_if.c
  2. 4 0
      core/wma/src/wma_nan_datapath.c
  3. 0 1
      core/wma/src/wma_scan_roam.c

+ 8 - 1
core/wma/src/wma_dev_if.c

@@ -4897,8 +4897,12 @@ void wma_delete_sta(tp_wma_handle wma, tpDeleteStaParams del_sta)
 	switch (oper_mode) {
 	case BSS_OPERATIONAL_MODE_STA:
 		wma_delete_sta_req_sta_mode(wma, del_sta);
-		if (wma_is_roam_synch_in_progress(wma, smesession_id))
+		if (wma_is_roam_synch_in_progress(wma, smesession_id)) {
+			WMA_LOGD(FL("LFR3: Del STA on vdev_id %d"),
+				 del_sta->smesessionId);
+			qdf_mem_free(del_sta);
 			return;
+		}
 		if (!rsp_requested) {
 			WMA_LOGD(FL("vdev_id %d status %d"),
 				 del_sta->smesessionId, del_sta->status);
@@ -4927,6 +4931,9 @@ void wma_delete_sta(tp_wma_handle wma, tpDeleteStaParams del_sta)
 	case BSS_OPERATIONAL_MODE_NDI:
 		wma_delete_sta_req_ndi_mode(wma, del_sta);
 		break;
+	default:
+		WMA_LOGE(FL("Incorrect oper mode %d"), oper_mode);
+		qdf_mem_free(del_sta);
 	}
 
 #ifdef QCA_IBSS_SUPPORT

+ 4 - 0
core/wma/src/wma_nan_datapath.c

@@ -1214,5 +1214,9 @@ send_del_rsp:
 		WMA_LOGD(FL("Sending del rsp to umac (status: %d)"),
 				del_sta->status);
 		wma_send_msg_high_priority(wma, WMA_DELETE_STA_RSP, del_sta, 0);
+	} else {
+		WMA_LOGD(FL("NDI Del Sta resp not needed"));
+		qdf_mem_free(del_sta);
 	}
+
 }

+ 0 - 1
core/wma/src/wma_scan_roam.c

@@ -2474,7 +2474,6 @@ static void wma_roam_update_vdev(tp_wma_handle wma,
 	qdf_mem_copy(wma->interfaces[vdev_id].bssid,
 			roam_synch_ind_ptr->bssid.bytes, IEEE80211_ADDR_LEN);
 	qdf_mem_free(del_bss_params);
-	qdf_mem_free(del_sta_params);
 	qdf_mem_free(set_link_params);
 	qdf_mem_free(add_sta_params);
 }