diff --git a/drivers/soc/qcom/rpmh-rsc.c b/drivers/soc/qcom/rpmh-rsc.c index 71a5a5452a6e..05775e056952 100644 --- a/drivers/soc/qcom/rpmh-rsc.c +++ b/drivers/soc/qcom/rpmh-rsc.c @@ -1218,6 +1218,13 @@ int rpmh_rsc_is_tcs_completed(struct rsc_drv *drv, int ch) sts &= CH1_WAKE_TCS_STATUS; retry--; + /* + * Wait till all the WAKE votes of the new channel are + * applied during channel switch. + * Maximum delay of 100 usec. + */ + if (!sts) + udelay(10); } while (!sts && retry); if (!retry) {