Prechádzať zdrojové kódy

qcacld-3.0: Revert "Tune TDLS code for discovery response"

The issue has been addressed in the supplicant.
So revert change: I89b501fc4da8615ddb8973e5edce73294793558f

Change-Id: I02b74a512c97803c597942c1ea00e3a02fbf4599
CRs-Fixed: 3544617
Paul Zhang 1 rok pred
rodič
commit
472d30e365

+ 5 - 6
components/tdls/core/src/wlan_tdls_ct.c

@@ -105,7 +105,7 @@ void tdls_discovery_timeout_peer_cb(void *user_data)
 
 	vdev = (struct wlan_objmgr_vdev *)user_data;
 	tdls_soc = wlan_vdev_get_tdls_soc_obj(vdev);
-	if (wlan_vdev_mlme_is_mlo_vdev(vdev) && tdls_soc &&
+	if (wlan_vdev_mlme_is_mlo_vdev(vdev) &&
 	    qdf_atomic_dec_and_test(&tdls_soc->timer_cnt)) {
 		tdls_process_mlo_cal_tdls_link_score(vdev);
 		select_vdev = tdls_process_mlo_choice_tdls_vdev(vdev);
@@ -124,14 +124,13 @@ void tdls_discovery_timeout_peer_cb(void *user_data)
 				tdls_notice("[TDLS] TDLS Discovery Response,"
 					    "QDF_MAC_ADDR_FMT RSSI[%d]<---OTA",
 					    rx_mgmt->rx_rssi);
-				if (tdls_soc->tdls_rx_cb)
-					tdls_soc->tdls_rx_cb(
-						     tdls_soc->tdls_rx_cb_data,
-						     rx_mgmt);
-
 				tdls_recv_discovery_resp(tdls_vdev, mac);
 				tdls_set_rssi(tdls_vdev->vdev, mac,
 					      rx_mgmt->rx_rssi);
+				if (tdls_soc && tdls_soc->tdls_rx_cb)
+					tdls_soc->tdls_rx_cb(
+						     tdls_soc->tdls_rx_cb_data,
+						     rx_mgmt);
 			}
 
 			qdf_mem_free(tdls_vdev->rx_mgmt);

+ 7 - 7
components/tdls/core/src/wlan_tdls_mgmt.c

@@ -509,9 +509,6 @@ static QDF_STATUS tdls_process_rx_mgmt(
 			    QDF_MAC_ADDR_FMT " RSSI[%d] <--- OTA",
 			    QDF_MAC_ADDR_REF(mac), rx_mgmt->rx_rssi);
 
-		if (tdls_soc_obj->tdls_rx_cb)
-			tdls_soc_obj->tdls_rx_cb(tdls_soc_obj->tdls_rx_cb_data,
-						 rx_mgmt);
 		tdls_debug("discovery resp on vdev %d", wlan_vdev_get_id(vdev));
 		tdls_recv_discovery_resp(tdls_vdev, mac);
 		tdls_set_rssi(tdls_vdev->vdev, mac, rx_mgmt->rx_rssi);
@@ -528,12 +525,15 @@ static QDF_STATUS tdls_process_rx_mgmt(
 			tdls_notice("[TDLS] %s <--- OTA",
 				   tdls_action_frames_type[action_frame_type]);
 		}
-
-		if (tdls_soc_obj->tdls_rx_cb)
-			tdls_soc_obj->tdls_rx_cb(tdls_soc_obj->tdls_rx_cb_data,
-						 rx_mgmt);
 	}
 
+	/* tdls_soc_obj->tdls_rx_cb ==> wlan_cfg80211_tdls_rx_callback() */
+	if (tdls_soc_obj && tdls_soc_obj->tdls_rx_cb)
+		tdls_soc_obj->tdls_rx_cb(tdls_soc_obj->tdls_rx_cb_data,
+					 rx_mgmt);
+	else
+		tdls_debug("rx mgmt, but no valid up layer callback");
+
 	if (tdls_vdev_select && tdls_vdev->rx_mgmt) {
 		qdf_mem_free(tdls_vdev->rx_mgmt);
 		tdls_vdev->rx_mgmt = NULL;