瀏覽代碼

qcacld-3.0: Add check for vdev up during probe response

Currently during probe request processing, probe
response does not check for vdev up.

Add check to send probe response and processs
probe request only if vdev is up.

Change-Id: I3bf526f50d149c5cd5390eb70fd4d2a75706f9ed
CRs-Fixed: 3181659
Divyajyothi Goparaju 3 年之前
父節點
當前提交
067e9ae6ac
共有 2 個文件被更改,包括 14 次插入7 次删除
  1. 11 6
      core/mac/src/pe/lim/lim_process_probe_req_frame.c
  2. 3 1
      core/mac/src/pe/lim/lim_send_management_frames.c

+ 11 - 6
core/mac/src/pe/lim/lim_process_probe_req_frame.c

@@ -528,6 +528,13 @@ lim_process_probe_req_frame_multiple_bss(struct mac_context *mac_ctx,
 		session = pe_find_session_by_session_id(mac_ctx, i);
 		if (!session)
 			continue;
+
+		if (!LIM_IS_AP_ROLE(session))
+			continue;
+
+		if (wlan_vdev_is_up(session->vdev) != QDF_STATUS_SUCCESS)
+			continue;
+
 		chan = wlan_vdev_get_active_channel(session->vdev);
 		/**
 		 * For GO present on 5G/6G/2G band channel and if probe req
@@ -540,12 +547,10 @@ lim_process_probe_req_frame_multiple_bss(struct mac_context *mac_ctx,
 			continue;
 		}
 
-		if (LIM_IS_AP_ROLE(session))
-			lim_indicate_probe_req_to_hdd(mac_ctx,
-					buf_descr, session);
-		if (LIM_IS_AP_ROLE(session))
-			lim_process_probe_req_frame(mac_ctx,
-					buf_descr, session);
+		lim_indicate_probe_req_to_hdd(mac_ctx,
+					      buf_descr, session);
+		lim_process_probe_req_frame(mac_ctx,
+					    buf_descr, session);
 	}
 }
 

+ 3 - 1
core/mac/src/pe/lim/lim_send_management_frames.c

@@ -741,11 +741,13 @@ lim_send_probe_rsp_mgmt_frame(struct mac_context *mac_ctx,
 			  FL("CAC timer is running, probe response dropped"));
 		return;
 	}
+	if (wlan_vdev_is_up(pe_session->vdev) != QDF_STATUS_SUCCESS)
+		return;
+
 	vdev_id = pe_session->vdev_id;
 	frm = qdf_mem_malloc(sizeof(tDot11fProbeResponse));
 	if (!frm)
 		return;
-
 	/*
 	 * Fill out 'frm', after which we'll just hand the struct off to
 	 * 'dot11f_pack_probe_response'.