File tree 2 files changed +9
-4
lines changed
2 files changed +9
-4
lines changed Original file line number Diff line number Diff line change @@ -462,6 +462,10 @@ sl_status_t JoinWifiNetwork(void)
462
462
463
463
if (status == SL_STATUS_OK)
464
464
{
465
+ #if CHIP_CONFIG_ENABLE_ICD_SERVER
466
+ // Remove High performance request that might have been added during the connect/retry process
467
+ chip::DeviceLayer::Silabs::WifiSleepManager::GetInstance ().RemoveHighPerformanceRequest ();
468
+ #endif // CHIP_CONFIG_ENABLE_ICD_SERVER
465
469
WifiEvent event = WifiEvent::kStationConnect ;
466
470
sl_matter_wifi_post_event (event);
467
471
return status;
@@ -815,6 +819,11 @@ void ProcessEvent(WifiEvent event)
815
819
case WifiEvent::kStationStartJoin :
816
820
ChipLogDetail (DeviceLayer, " WifiEvent::kStationStartJoin" );
817
821
822
+ // To avoid IOP issues, it is recommended to enable high-performance mode before joining the network.
823
+ // TODO: Remove this once the IOP issue related to power save mode switching is fixed in the Wi-Fi SDK.
824
+ #if CHIP_CONFIG_ENABLE_ICD_SERVER
825
+ chip::DeviceLayer::Silabs::WifiSleepManager::GetInstance ().RequestHighPerformance ();
826
+ #endif // CHIP_CONFIG_ENABLE_ICD_SERVER
818
827
InitiateScan ();
819
828
JoinWifiNetwork ();
820
829
break ;
Original file line number Diff line number Diff line change @@ -56,10 +56,6 @@ osTimerId_t sRetryTimer;
56
56
*/
57
57
void RetryConnectionTimerHandler (void * arg)
58
58
{
59
- #if CHIP_CONFIG_ENABLE_ICD_SERVER
60
- Silabs::WifiSleepManager::GetInstance ().RequestHighPerformance ();
61
- #endif // CHIP_CONFIG_ENABLE_ICD_SERVER
62
-
63
59
if (wfx_connect_to_ap () != SL_STATUS_OK)
64
60
{
65
61
ChipLogError (DeviceLayer, " wfx_connect_to_ap() failed." );
You can’t perform that action at this time.
0 commit comments