Explorar o código

qcacld-3.0: Reset connection tracker for tdls

Reset tdls_vdev->ct_peer_table connection tracker table
when enable implicit tdls triggering. There may be
some old tracker existing in the table. The stale data
can't be used in new tracing period.

Change-Id: I36c0c525c98eac4d1e6beed3a9006e717aee0d91
CRs-Fixed: 3653707
Liangwei Dong hai 1 ano
pai
achega
086f4ba111
Modificáronse 1 ficheiros con 10 adicións e 0 borrados
  1. 10 0
      components/tdls/core/src/wlan_tdls_ct.c

+ 10 - 0
components/tdls/core/src/wlan_tdls_ct.c

@@ -213,6 +213,16 @@ static void tdls_reset_tx_rx(struct tdls_vdev_priv_obj *tdls_vdev)
 	qdf_list_node_t *p_node;
 	struct tdls_peer *peer;
 	QDF_STATUS status;
+	struct tdls_soc_priv_obj *tdls_soc;
+
+	tdls_soc = wlan_vdev_get_tdls_soc_obj(tdls_vdev->vdev);
+	if (!tdls_soc)
+		return;
+
+	/* reset stale connection tracker */
+	qdf_spin_lock_bh(&tdls_soc->tdls_ct_spinlock);
+	tdls_vdev->valid_mac_entries = 0;
+	qdf_spin_unlock_bh(&tdls_soc->tdls_ct_spinlock);
 
 	for (i = 0; i < WLAN_TDLS_PEER_LIST_SIZE; i++) {
 		head = &tdls_vdev->peer_list[i];