Skip to content

Commit 1f5c4e0

Browse files
Caesar-githubgregkh
authored andcommitted
thermal: rockchip: fix a impossible condition caused by the warning
commit 43b4eb9fe719b107c8e5d49d1edbff0c135a42cb upstream. As the Dan report the smatch check the thermal driver warning: drivers/thermal/rockchip_thermal.c:551 rockchip_configure_from_dt() warn: impossible condition '(thermal->tshut_temp > ((~0 >> 1))) => (s32min-s32max > s32max)' Although The shut_temp read from DT is u32,the temperature is currently represented as int not long in the thermal driver. Let's change to make shut_temp instead of the thermal->tshut_temp for the condition. Fixes: commit 437df21 ("thermal: rockchip: consistently use int for temperatures") Reported-by: Dan Carpenter <dan.carpenter@oracle.com> Signed-off-by: Caesar Wang <wxt@rock-chips.com> Signed-off-by: Eduardo Valentin <edubezval@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
1 parent 22327f6 commit 1f5c4e0

1 file changed

Lines changed: 5 additions & 6 deletions

File tree

drivers/thermal/rockchip_thermal.c

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -545,15 +545,14 @@ static int rockchip_configure_from_dt(struct device *dev,
545545
thermal->chip->tshut_temp);
546546
thermal->tshut_temp = thermal->chip->tshut_temp;
547547
} else {
548+
if (shut_temp > INT_MAX) {
549+
dev_err(dev, "Invalid tshut temperature specified: %d\n",
550+
shut_temp);
551+
return -ERANGE;
552+
}
548553
thermal->tshut_temp = shut_temp;
549554
}
550555

551-
if (thermal->tshut_temp > INT_MAX) {
552-
dev_err(dev, "Invalid tshut temperature specified: %d\n",
553-
thermal->tshut_temp);
554-
return -ERANGE;
555-
}
556-
557556
if (of_property_read_u32(np, "rockchip,hw-tshut-mode", &tshut_mode)) {
558557
dev_warn(dev,
559558
"Missing tshut mode property, using default (%s)\n",

0 commit comments

Comments
 (0)