فهرست منبع

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'.