Merge "wcnss: Fix access to WCNSS register before enabling clock"
diff --git a/drivers/net/wireless/wcnss/wcnss_vreg.c b/drivers/net/wireless/wcnss/wcnss_vreg.c
index 6a315d2..0aa9677 100644
--- a/drivers/net/wireless/wcnss/wcnss_vreg.c
+++ b/drivers/net/wireless/wcnss/wcnss_vreg.c
@@ -156,8 +156,15 @@
goto fail;
}
- /* power on thru SSR should not set NV bit,
- * during SSR, NV bin is downloaded by WLAN driver
+ /* Enable IRIS XO */
+ rc = clk_prepare_enable(clk);
+ if (rc) {
+ pr_err("clk enable failed\n");
+ goto fail;
+ }
+ /* NV bit is set to indicate that platform driver is capable
+ * of doing NV download. SSR should not set NV bit; during
+ * SSR NV bin is downloaded by WLAN driver.
*/
if (!wcnss_cold_boot_done()) {
pr_debug("wcnss: Indicate NV bin download\n");
@@ -168,13 +175,6 @@
}
pmu_conf_reg = msm_wcnss_base + pmu_offset;
-
- /* Enable IRIS XO */
- rc = clk_prepare_enable(clk);
- if (rc) {
- pr_err("clk enable failed\n");
- goto fail;
- }
writel_relaxed(0, pmu_conf_reg);
reg = readl_relaxed(pmu_conf_reg);
reg |= WCNSS_PMU_CFG_GC_BUS_MUX_SEL_TOP |