diff --git a/wifi/services/wifi_standard/wifi_framework/wifi_manage/wifi_sta/sta_state_machine.cpp b/wifi/services/wifi_standard/wifi_framework/wifi_manage/wifi_sta/sta_state_machine.cpp index c1f4da0be4aaf014f9c359c462dfb0d14a67c803..425fe9ae2f65e54c8437aa4a27f94c6df3031c01 100755 --- a/wifi/services/wifi_standard/wifi_framework/wifi_manage/wifi_sta/sta_state_machine.cpp +++ b/wifi/services/wifi_standard/wifi_framework/wifi_manage/wifi_sta/sta_state_machine.cpp @@ -4395,6 +4395,15 @@ ErrCode StaStateMachine::StartConnectToNetwork(int networkId, const std::string #endif WifiSettings::GetInstance().SetUserConnectChoice(networkId); } + + if (m_instId == INSTID_WLAN1) { + WifiState state = static_cast(WifiConfigCenter::GetInstance().GetWifiMidState(m_instId)); + if (state == WifiState::DISABLED || state == WifiState::DISABLING) { + WIFI_LOGE("StartConnectToNetwork %{public}d! sta is not active.", m_instId); + return WIFI_OPT_FAILED; + } + } + WifiDeviceConfig deviceConfig; if (WifiSettings::GetInstance().GetDeviceConfig(networkId, deviceConfig, m_instId) != 0) { WIFI_LOGE("StartConnectToNetwork get GetDeviceConfig failed!");