Procházet zdrojové kódy

qcacld-3.0: Use link info to get VDEV's disconnect status

Modify hdd_cm_is_disconnected() API to take link_info
as functional argument to retrieve whether the
corresponding VDEV is in disconnected state or not.
Existing callers moved to deflink.

Change-Id: I4520230b2a59cbac550f196acf9c48e6abe45d1b
CRs-Fixed: 3464327
Vinod Kumar Pirla před 2 roky
rodič
revize
a5c84cda1a

+ 2 - 2
core/hdd/src/wlan_hdd_cm_api.h

@@ -352,11 +352,11 @@ bool hdd_cm_is_connecting(struct wlan_hdd_link_info *link_info);
 
 /**
  * hdd_cm_is_disconnected() - Function to check if vdev is disconnected or not
- * @adapter: pointer to the adapter structure
+ * @link_info: pointer to the link_info structure
  *
  * Return: true if disconnected, false otherwise
  */
-bool hdd_cm_is_disconnected(struct hdd_adapter *adapter);
+bool hdd_cm_is_disconnected(struct wlan_hdd_link_info *link_info);
 
 /**
  * hdd_cm_is_vdev_roaming() - Function to check roaming in progress

+ 2 - 2
core/hdd/src/wlan_hdd_cm_connect.c

@@ -133,13 +133,13 @@ bool hdd_cm_is_connecting(struct wlan_hdd_link_info *link_info)
 	return is_vdev_connecting;
 }
 
-bool hdd_cm_is_disconnected(struct hdd_adapter *adapter)
+bool hdd_cm_is_disconnected(struct wlan_hdd_link_info *link_info)
 {
 	struct wlan_objmgr_vdev *vdev;
 	bool is_vdev_disconnected;
 	enum QDF_OPMODE opmode;
 
-	vdev = hdd_objmgr_get_vdev_by_user(adapter->deflink, WLAN_OSIF_CM_ID);
+	vdev = hdd_objmgr_get_vdev_by_user(link_info, WLAN_OSIF_CM_ID);
 	if (!vdev)
 		return false;
 

+ 1 - 2
core/hdd/src/wlan_hdd_main.c

@@ -8571,8 +8571,7 @@ QDF_STATUS hdd_stop_adapter_ext(struct hdd_context *hdd_ctx,
 		if (adapter->device_mode == QDF_NDI_MODE ||
 		    ((adapter->device_mode == QDF_STA_MODE ||
 		      adapter->device_mode == QDF_P2P_CLIENT_MODE) &&
-		      !hdd_cm_is_disconnected(adapter))
-		    ) {
+		      !hdd_cm_is_disconnected(adapter->deflink))) {
 			INIT_COMPLETION(adapter->disconnect_comp_var);
 			if (cds_is_driver_recovering())
 				reason = REASON_DEVICE_RECOVERY;

+ 1 - 1
core/hdd/src/wlan_hdd_station_info.c

@@ -2440,7 +2440,7 @@ static int hdd_get_station_info_ex(struct hdd_context *hdd_ctx,
 	hdd_sta_ctx = WLAN_HDD_GET_STATION_CTX_PTR(adapter->deflink);
 	ucfg_mc_cp_get_big_data_fw_support(hdd_ctx->psoc, &big_data_fw_support);
 
-	if (hdd_cm_is_disconnected(adapter) &&
+	if (hdd_cm_is_disconnected(adapter->deflink) &&
 	    big_data_fw_support)
 		big_data_stats_req = true;
 

+ 1 - 1
core/hdd/src/wlan_hdd_stats.c

@@ -888,7 +888,7 @@ bool hdd_get_interface_info(struct hdd_adapter *adapter,
 	     (QDF_P2P_CLIENT_MODE == adapter->device_mode) ||
 	     (QDF_P2P_DEVICE_MODE == adapter->device_mode))) {
 		sta_ctx = WLAN_HDD_GET_STATION_CTX_PTR(adapter->deflink);
-		if (hdd_cm_is_disconnected(adapter)) {
+		if (hdd_cm_is_disconnected(adapter->deflink)) {
 			info->state = WIFI_DISCONNECTED;
 		}
 		if (hdd_cm_is_connecting(adapter->deflink)) {