mirror of
https://github.com/espressif/esp-idf.git
synced 2026-09-22 13:01:16 +03:00
fix(esp_phy): check hw freq hop done before disabling common clock
This commit is contained in:
@@ -203,6 +203,13 @@ void phy_wakeup_from_modem_state_extra_init(void);
|
||||
void esp_phy_modem_rf_flag_update(void);
|
||||
#endif
|
||||
|
||||
|
||||
/**
|
||||
* @brief Wait for frequency hardware hop to complete
|
||||
*
|
||||
*/
|
||||
void phy_wait_freq_hw_hop_done(void);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
@@ -150,3 +150,9 @@ void phy_wakeup_from_modem_state_extra_init(void)
|
||||
temperature_sensor_ll_enable(true);
|
||||
}
|
||||
#endif
|
||||
|
||||
__attribute__((weak)) void phy_wait_freq_hw_hop_done(void)
|
||||
{
|
||||
ESP_LOGD(TAG, "phy_wait_freq_hw_hop_done is not implemented");
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -409,6 +409,7 @@ void esp_phy_disable(esp_phy_modem_t modem)
|
||||
// Update WiFi MAC time before disable WiFi/BT common peripheral clock
|
||||
phy_update_wifi_mac_time(true, esp_timer_get_time());
|
||||
#endif
|
||||
phy_wait_freq_hw_hop_done();
|
||||
// Disable WiFi/BT common peripheral clock. Do not disable clock for hardware RNG
|
||||
esp_phy_common_clock_disable();
|
||||
}
|
||||
|
||||
@@ -153,6 +153,7 @@ void esp_phy_disable(esp_phy_modem_t modem)
|
||||
#endif
|
||||
phy_close_rf();
|
||||
phy_xpd_tsens();
|
||||
phy_wait_freq_hw_hop_done();
|
||||
#if SOC_MODEM_CLOCK_IS_INDEPENDENT
|
||||
modem_clock_module_disable(PERIPH_PHY_MODULE);
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user