]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
soc: qcom: aoss: compare against normalized cooling state
authorAlok Tiwari <alok.a.tiwari@oracle.com>
Sun, 29 Mar 2026 19:53:23 +0000 (12:53 -0700)
committerBjorn Andersson <andersson@kernel.org>
Mon, 30 Mar 2026 13:26:17 +0000 (08:26 -0500)
qmp_cdev_set_cur_state() normalizes the requested state to a boolean
(cdev_state = !!state). The existing early-return check compares
qmp_cdev->state == state, which can be wrong if state is non-boolean
(any non-zero value). Compare qmp_cdev->state against cdev_state instead,
so the check matches the effective state and avoids redundant updates.

Signed-off-by: Alok Tiwari <alok.a.tiwari@oracle.com>
Fixes: 05589b30b21a ("soc: qcom: Extend AOSS QMP driver to support resources that are used to wake up the SoC.")
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Link: https://lore.kernel.org/r/20260329195333.1478090-1-alok.a.tiwari@oracle.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
drivers/soc/qcom/qcom_aoss.c

index a543ab9bee6c4efcbd7026c44af9731176d4d60c..c255662b8fc3d159e44f5bb55dd696564274342d 100644 (file)
@@ -355,7 +355,7 @@ static int qmp_cdev_set_cur_state(struct thermal_cooling_device *cdev,
        /* Normalize state */
        cdev_state = !!state;
 
-       if (qmp_cdev->state == state)
+       if (qmp_cdev->state == cdev_state)
                return 0;
 
        ret = qmp_send(qmp_cdev->qmp, "{class: volt_flr, event:zero_temp, res:%s, value:%s}",