Jelajahi Sumber

qcacld-3.0: Reject TDLS as TDLS concurrency is not supported

Add concurrency conditions to reject TDLS connection if
along with BSS STA, any other iface is in connected state.

In case such as where peer directly sends TDLS setup
request and because of this supplicant does ADD peer
which is not rejected in case of concurrency.
This check is required because add_peer shouldn't be
processed if any other interface such as SAP, P2P already
have started otherwise it will result in FW crash.

Change-Id: Ied36228e033730cd337cd64612df6b4c2696ee28
CRs-Fixed: 3169912
Utkarsh Bhatnagar 2 tahun lalu
induk
melakukan
5831c17b52
1 mengubah file dengan 6 tambahan dan 0 penghapusan
  1. 6 0
      components/tdls/core/src/wlan_tdls_cmds_process.c

+ 6 - 0
components/tdls/core/src/wlan_tdls_cmds_process.c

@@ -1,5 +1,6 @@
 /*
  * Copyright (c) 2017-2021 The Linux Foundation. All rights reserved.
+ * Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved.
  *
  * Permission to use, copy, modify, and/or distribute this software for
  * any purpose with or without fee is hereby granted, provided that the
@@ -843,6 +844,11 @@ QDF_STATUS tdls_process_add_peer(struct tdls_add_peer_request *req)
 		goto free_req;
 	}
 	vdev = req->vdev;
+	if (!tdls_check_is_tdls_allowed(vdev)) {
+		tdls_err("TDLS not allowed, reject add station for vdev: %d",
+			 wlan_vdev_get_id(vdev));
+		goto error;
+	}
 	psoc = wlan_vdev_get_psoc(vdev);
 	if (!psoc) {
 		tdls_err("can't get psoc");