mirror of
https://github.com/espressif/esp-idf.git
synced 2024-09-20 00:36:01 -04:00
Merge branch 'bugfix/phy_init_failed_when_wifi_deinit_4.4' into 'release/v4.4'
esp_wifi:bugfix for phy init failed when wifi deinit(4.4) See merge request espressif/esp-idf!19137
This commit is contained in:
commit
47b6a8c85a
@ -52,6 +52,8 @@ static DRAM_ATTR struct {
|
|||||||
/* Indicate PHY is calibrated or not */
|
/* Indicate PHY is calibrated or not */
|
||||||
static bool s_is_phy_calibrated = false;
|
static bool s_is_phy_calibrated = false;
|
||||||
|
|
||||||
|
static bool s_is_phy_reg_stored = false;
|
||||||
|
|
||||||
/* Reference count of enabling PHY */
|
/* Reference count of enabling PHY */
|
||||||
static uint8_t s_phy_access_ref = 0;
|
static uint8_t s_phy_access_ref = 0;
|
||||||
|
|
||||||
@ -206,12 +208,13 @@ static inline void phy_digital_regs_store(void)
|
|||||||
{
|
{
|
||||||
if (s_phy_digital_regs_mem != NULL) {
|
if (s_phy_digital_regs_mem != NULL) {
|
||||||
phy_dig_reg_backup(true, s_phy_digital_regs_mem);
|
phy_dig_reg_backup(true, s_phy_digital_regs_mem);
|
||||||
|
s_is_phy_reg_stored = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline void phy_digital_regs_load(void)
|
static inline void phy_digital_regs_load(void)
|
||||||
{
|
{
|
||||||
if (s_phy_digital_regs_mem != NULL) {
|
if (s_is_phy_reg_stored && s_phy_digital_regs_mem != NULL) {
|
||||||
phy_dig_reg_backup(false, s_phy_digital_regs_mem);
|
phy_dig_reg_backup(false, s_phy_digital_regs_mem);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -314,7 +317,7 @@ void esp_phy_pd_mem_deinit(void)
|
|||||||
|
|
||||||
s_phy_backup_mem_ref--;
|
s_phy_backup_mem_ref--;
|
||||||
if (s_phy_backup_mem_ref == 0) {
|
if (s_phy_backup_mem_ref == 0) {
|
||||||
s_is_phy_calibrated = false;
|
s_is_phy_reg_stored = false;
|
||||||
free(s_phy_digital_regs_mem);
|
free(s_phy_digital_regs_mem);
|
||||||
s_phy_digital_regs_mem = NULL;
|
s_phy_digital_regs_mem = NULL;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user