diff --git a/core/hdd/src/wlan_hdd_assoc.c b/core/hdd/src/wlan_hdd_assoc.c index f24a80faead2..74a2fe80f68f 100644 --- a/core/hdd/src/wlan_hdd_assoc.c +++ b/core/hdd/src/wlan_hdd_assoc.c @@ -165,31 +165,30 @@ hdd_conn_set_authenticated(hdd_adapter_t *pAdapter, uint8_t authState) /** * hdd_conn_set_connection_state() - set connection state - * @pAdapter: pointer to the adapter - * @connState: connection state + * @adapter: pointer to the adapter + * @conn_state: connection state * * This function updates the global HDD station context connection state. * * Return: none */ -void hdd_conn_set_connection_state(hdd_adapter_t *pAdapter, - eConnectionState connState) +void hdd_conn_set_connection_state(hdd_adapter_t *adapter, + eConnectionState conn_state) { - hdd_station_ctx_t *pHddStaCtx = WLAN_HDD_GET_STATION_CTX_PTR(pAdapter); - hdd_context_t *pHddCtx = WLAN_HDD_GET_CTX(pAdapter); + hdd_station_ctx_t *hdd_sta_ctx = WLAN_HDD_GET_STATION_CTX_PTR(adapter); + hdd_context_t *hdd_ctx = WLAN_HDD_GET_CTX(adapter); /* save the new connection state */ - hdd_debug("%pS Changed connectionState Changed from oldState:%d to State:%d", - (void *)_RET_IP_, pHddStaCtx->conn_info.connState, - connState); + hdd_debug("%pS Changed conn state from old:%d to new:%d for dev %s", + (void *)_RET_IP_, hdd_sta_ctx->conn_info.connState, + conn_state, adapter->dev->name); - hdd_tsf_notify_wlan_state_change(pAdapter, - pHddStaCtx->conn_info.connState, - connState); - pHddStaCtx->conn_info.connState = connState; + hdd_tsf_notify_wlan_state_change(adapter, + hdd_sta_ctx->conn_info.connState, + conn_state); + hdd_sta_ctx->conn_info.connState = conn_state; - /* Check is pending ROC request or not when connection state changed */ - schedule_delayed_work(&pHddCtx->roc_req_work, 0); + schedule_delayed_work(&hdd_ctx->roc_req_work, 0); } /** @@ -2474,7 +2473,9 @@ static QDF_STATUS hdd_association_completion_handler(hdd_adapter_t *pAdapter, pHddStaCtx->conn_info.connState)) && ((eCSR_ROAM_RESULT_ASSOCIATED == roamResult) || (eCSR_ROAM_ASSOCIATION_FAILURE == roamStatus))) { - hdd_info("Disconnect from HDD in progress"); + hdd_info("hddDisconInProgress state=%d, result=%d, status=%d", + pHddStaCtx->conn_info.connState, + roamResult, roamStatus); hddDisconInProgress = true; } @@ -3350,8 +3351,8 @@ static bool roam_remove_ibss_station(hdd_adapter_t *pAdapter, uint8_t staId) if (MAX_PEERS == empty_slots) { /* Last peer departed, set the IBSS state appropriately */ - pHddStaCtx->conn_info.connState = - eConnectionState_IbssDisconnected; + hdd_conn_set_connection_state(pAdapter, + eConnectionState_IbssDisconnected); hdd_debug("Last IBSS Peer Departed!!!"); } /* Find next active staId, to have a valid sta trigger for TL. */ diff --git a/core/hdd/src/wlan_hdd_cfg80211.c b/core/hdd/src/wlan_hdd_cfg80211.c index 5515f07dbaeb..b569c3cad84e 100644 --- a/core/hdd/src/wlan_hdd_cfg80211.c +++ b/core/hdd/src/wlan_hdd_cfg80211.c @@ -15491,7 +15491,8 @@ static int wlan_hdd_disconnect(hdd_adapter_t *pAdapter, u16 reason) wlan_hdd_netif_queue_control(pAdapter, WLAN_STOP_ALL_NETIF_QUEUE_N_CARRIER, WLAN_CONTROL_PATH); hdd_debug("Set HDD connState to eConnectionState_Disconnecting"); - pHddStaCtx->conn_info.connState = eConnectionState_Disconnecting; + hdd_conn_set_connection_state(pAdapter, eConnectionState_Disconnecting); + INIT_COMPLETION(pAdapter->disconnect_comp_var); /* issue disconnect */ diff --git a/core/hdd/src/wlan_hdd_main.c b/core/hdd/src/wlan_hdd_main.c index 157defa6d0eb..c8e032251e8a 100644 --- a/core/hdd/src/wlan_hdd_main.c +++ b/core/hdd/src/wlan_hdd_main.c @@ -3196,10 +3196,7 @@ QDF_STATUS hdd_init_station_mode(hdd_adapter_t *adapter) hdd_err("failed to register wireless extensions: %d", status); goto error_register_wext; } - - /* Set the Connection State to Not Connected */ - hdd_debug("Set HDD connState to eConnectionState_NotConnected"); - pHddStaCtx->conn_info.connState = eConnectionState_NotConnected; + hdd_conn_set_connection_state(adapter, eConnectionState_NotConnected); qdf_mem_set(pHddStaCtx->conn_info.staId, sizeof(pHddStaCtx->conn_info.staId), HDD_WLAN_INVALID_STA_ID); diff --git a/core/hdd/src/wlan_hdd_nan_datapath.c b/core/hdd/src/wlan_hdd_nan_datapath.c index 16eed61348c7..23eae3c843ca 100644 --- a/core/hdd/src/wlan_hdd_nan_datapath.c +++ b/core/hdd/src/wlan_hdd_nan_datapath.c @@ -1251,8 +1251,8 @@ static void hdd_ndp_new_peer_ind_handler(hdd_adapter_t *adapter, hdd_ctx->sta_to_adapter[new_peer_ind->sta_id] = adapter; /* perform following steps for first new peer ind */ if (ndp_ctx->active_ndp_peers == 1) { - hdd_info("Set ctx connection state to connected"); - sta_ctx->conn_info.connState = eConnectionState_NdiConnected; + hdd_conn_set_connection_state(adapter, + eConnectionState_NdiConnected); hdd_wmm_connect(adapter, &roam_info, eCSR_BSS_TYPE_NDI); wlan_hdd_netif_queue_control(adapter, WLAN_WAKE_ALL_NETIF_QUEUE, WLAN_CONTROL_PATH); @@ -1281,7 +1281,6 @@ static void hdd_ndp_peer_departed_ind_handler(hdd_adapter_t *adapter, if (--ndp_ctx->active_ndp_peers == 0) { hdd_info("No more ndp peers."); - sta_ctx->conn_info.connState = eConnectionState_NdiDisconnected; hdd_conn_set_connection_state(adapter, eConnectionState_NdiDisconnected); hdd_info("Stop netif tx queues.");