summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--drivers/soc/qcom/icnss.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/soc/qcom/icnss.c b/drivers/soc/qcom/icnss.c
index 05a9ff4aeb1c..d0d395244469 100644
--- a/drivers/soc/qcom/icnss.c
+++ b/drivers/soc/qcom/icnss.c
@@ -1320,7 +1320,7 @@ int icnss_hw_reset(struct icnss_priv *priv)
MPM_WCSSAON_CONFIG_FORCE_ACTIVE, 1);
icnss_hw_poll_reg_field(priv->mem_base_va, SR_WCSSAON_SR_LSB_OFFSET,
- SR_WCSSAON_SR_LSB_RETENTION_STATUS, 1, 100,
+ SR_WCSSAON_SR_LSB_RETENTION_STATUS, 1, 200,
ICNSS_HW_REG_RETRY);
for (i = 0; i < ICNSS_HW_REG_RETRY; i++) {
@@ -1348,11 +1348,13 @@ int icnss_hw_reset(struct icnss_priv *priv)
}
if (i >= ICNSS_HW_REG_RETRY)
- ICNSS_ASSERT(false);
+ goto top_level_reset;
icnss_hw_write_reg_field(priv->mpm_config_va, MPM_WCSSAON_CONFIG_OFFSET,
MPM_WCSSAON_CONFIG_DISCONNECT_CLR, 0x1);
+ usleep_range(200, 300);
+
icnss_hw_reset_wlan_ss_power_down(priv);
icnss_hw_reset_common_ss_power_down(priv);