Skip to content

Commit d4a96df

Browse files
committed
[SL-UP] Rejoin fix after power cycle for sleepy 917 devices
1 parent 8ede708 commit d4a96df

File tree

1 file changed

+5
-6
lines changed

1 file changed

+5
-6
lines changed

src/platform/silabs/wifi/SiWx/WifiInterfaceImpl.cpp

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -646,6 +646,11 @@ void WifiInterfaceImpl::ProcessEvent(WiseconnectWifiInterface::WifiPlatformEvent
646646
case WiseconnectWifiInterface::WifiPlatformEvent::kStationStartJoin:
647647
ChipLogDetail(DeviceLayer, "WifiPlatformEvent::kStationStartJoin");
648648

649+
// To avoid IOP issues, it is recommended to enable high-performance mode before joining the network.
650+
// TODO: Remove this once the IOP issue related to power save mode switching is fixed in the Wi-Fi SDK.
651+
#if CHIP_CONFIG_ENABLE_ICD_SERVER
652+
chip::DeviceLayer::Silabs::WifiSleepManager::GetInstance().RequestHighPerformanceWithTransition();
653+
#endif // CHIP_CONFIG_ENABLE_ICD_SERVER
649654
InitiateScan();
650655
JoinWifiNetwork();
651656
break;
@@ -691,12 +696,6 @@ sl_status_t WifiInterfaceImpl::JoinWifiNetwork(void)
691696
status = sl_wifi_set_join_callback(JoinCallback, nullptr);
692697
VerifyOrReturnError(status == SL_STATUS_OK, status);
693698

694-
// To avoid IOP issues, it is recommended to enable high-performance mode before joining the network.
695-
// TODO: Remove this once the IOP issue related to power save mode switching is fixed in the Wi-Fi SDK.
696-
#if CHIP_CONFIG_ENABLE_ICD_SERVER
697-
chip::DeviceLayer::Silabs::WifiSleepManager::GetInstance().RequestHighPerformanceWithTransition();
698-
#endif // CHIP_CONFIG_ENABLE_ICD_SERVER
699-
700699
status = sl_net_up(SL_NET_WIFI_CLIENT_INTERFACE, SL_NET_DEFAULT_WIFI_CLIENT_PROFILE_ID);
701700

702701
if (status == SL_STATUS_OK || status == SL_STATUS_IN_PROGRESS)

0 commit comments

Comments
 (0)