[PATCH 4/8] interconnect: qcom: icc-rpm: skip duplicate SMD RPM node votes
From: Dmitry Baryshkov
Date: Mon Oct 19 2026 - 14:37:52 EST
From: Konrad Dybcio <konrad.dybcio@xxxxxxxxxxxxxxxx>
icc_sync_state() can invoke the provider set callback with the same
node as both source and destination. Do not submit a second RPM
bandwidth vote for that node.
Fixes: 751f4d14cdb4 ("interconnect: icc-rpm: Set destination bandwidth as well as source bandwidth")
Signed-off-by: Konrad Dybcio <konrad.dybcio@xxxxxxxxxxxxxxxx>
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@xxxxxxxxxxxxxxxx>
---
drivers/interconnect/qcom/icc-rpm.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/interconnect/qcom/icc-rpm.c b/drivers/interconnect/qcom/icc-rpm.c
index ddc7df31ed33..6e8e0bcf79bf 100644
--- a/drivers/interconnect/qcom/icc-rpm.c
+++ b/drivers/interconnect/qcom/icc-rpm.c
@@ -427,7 +427,7 @@ static int qcom_icc_set(struct icc_node *src, struct icc_node *dst)
if (ret)
return ret;
- if (dst_qn) {
+ if (dst_qn && dst != src) {
ret = qcom_icc_rpm_set(dst_qn, dst_qn->sum_avg, qp->ignore_enxio);
if (ret)
return ret;
--
2.47.3