|
@@ -85,27 +85,25 @@ bool hdd_cm_is_vdev_associated(struct wlan_hdd_link_info *link_info)
|
|
|
return is_vdev_active;
|
|
|
}
|
|
|
|
|
|
-bool hdd_cm_is_vdev_connected(struct hdd_adapter *adapter)
|
|
|
+bool hdd_cm_is_vdev_connected(struct wlan_hdd_link_info *link_info)
|
|
|
{
|
|
|
struct wlan_objmgr_vdev *vdev;
|
|
|
bool is_vdev_connected;
|
|
|
- enum QDF_OPMODE opmode;
|
|
|
struct hdd_station_ctx *sta_ctx;
|
|
|
+ enum QDF_OPMODE opmode = link_info->adapter->device_mode;
|
|
|
|
|
|
- sta_ctx = WLAN_HDD_GET_STATION_CTX_PTR(adapter->deflink);
|
|
|
- if (adapter->device_mode == QDF_NDI_MODE)
|
|
|
+ sta_ctx = WLAN_HDD_GET_STATION_CTX_PTR(link_info);
|
|
|
+ if (opmode == QDF_NDI_MODE)
|
|
|
return (sta_ctx->conn_info.conn_state ==
|
|
|
eConnectionState_NdiConnected);
|
|
|
|
|
|
- vdev = hdd_objmgr_get_vdev_by_user(adapter->deflink, WLAN_OSIF_CM_ID);
|
|
|
- if (!vdev)
|
|
|
+ if (opmode != QDF_STA_MODE && opmode != QDF_P2P_CLIENT_MODE)
|
|
|
return false;
|
|
|
|
|
|
- opmode = wlan_vdev_mlme_get_opmode(vdev);
|
|
|
- if (opmode != QDF_STA_MODE && opmode != QDF_P2P_CLIENT_MODE) {
|
|
|
- hdd_objmgr_put_vdev_by_user(vdev, WLAN_OSIF_CM_ID);
|
|
|
+ vdev = hdd_objmgr_get_vdev_by_user(link_info, WLAN_OSIF_CM_ID);
|
|
|
+ if (!vdev)
|
|
|
return false;
|
|
|
- }
|
|
|
+
|
|
|
is_vdev_connected = ucfg_cm_is_vdev_connected(vdev);
|
|
|
|
|
|
hdd_objmgr_put_vdev_by_user(vdev, WLAN_OSIF_CM_ID);
|