Skip to content

Commit ad51126

Browse files
quic-bjorandeandersson
authored andcommitted
soc: qcom: pmic_glink: Actually communicate when remote goes down
When the pmic_glink state is UP and we either receive a protection- domain (PD) notification indicating that the PD is going down, or that the whole remoteproc is going down, it's expected that the pmic_glink client instances are notified that their function has gone DOWN. This is not what the code does, which results in the client state either not updating, or being wrong in many cases. So let's fix the conditions. Fixes: 58ef4ec ("soc: qcom: pmic_glink: Introduce base PMIC GLINK driver") Cc: stable@vger.kernel.org Reviewed-by: Heikki Krogerus <heikki.krogerus@linux.intel.com> Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org> Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org> Tested-by: Amit Pundir <amit.pundir@linaro.org> Reviewed-by: Johan Hovold <johan+linaro@kernel.org> Tested-by: Johan Hovold <johan+linaro@kernel.org> Signed-off-by: Bjorn Andersson <quic_bjorande@quicinc.com> Link: https://lore.kernel.org/r/20240820-pmic-glink-v6-11-races-v3-3-eec53c750a04@quicinc.com Signed-off-by: Bjorn Andersson <andersson@kernel.org>
1 parent 11bb2ff commit ad51126

1 file changed

Lines changed: 1 addition & 1 deletion

File tree

drivers/soc/qcom/pmic_glink.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -191,7 +191,7 @@ static void pmic_glink_state_notify_clients(struct pmic_glink *pg)
191191
if (pg->pdr_state == SERVREG_SERVICE_STATE_UP && pg->ept)
192192
new_state = SERVREG_SERVICE_STATE_UP;
193193
} else {
194-
if (pg->pdr_state == SERVREG_SERVICE_STATE_UP && pg->ept)
194+
if (pg->pdr_state == SERVREG_SERVICE_STATE_DOWN || !pg->ept)
195195
new_state = SERVREG_SERVICE_STATE_DOWN;
196196
}
197197

0 commit comments

Comments
 (0)