Do not call get_trip_hyst() if the thermal zone does not define one.
Signed-off-by: Nicolas Cavallari <[email protected]>
---
drivers/thermal/thermal_netlink.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/drivers/thermal/thermal_netlink.c b/drivers/thermal/thermal_netlink.c
index a16dd4d5d710..73e68cce292e 100644
--- a/drivers/thermal/thermal_netlink.c
+++ b/drivers/thermal/thermal_netlink.c
@@ -419,11 +419,12 @@ static int thermal_genl_cmd_tz_get_trip(struct param *p)
for (i = 0; i < tz->trips; i++) {
enum thermal_trip_type type;
- int temp, hyst;
+ int temp, hyst = 0;
tz->ops->get_trip_type(tz, i, &type);
tz->ops->get_trip_temp(tz, i, &temp);
- tz->ops->get_trip_hyst(tz, i, &hyst);
+ if (tz->ops->get_trip_hyst)
+ tz->ops->get_trip_hyst(tz, i, &hyst);
if (nla_put_u32(msg, THERMAL_GENL_ATTR_TZ_TRIP_ID, i) ||
nla_put_u32(msg, THERMAL_GENL_ATTR_TZ_TRIP_TYPE, type) ||
--
2.35.1
On Mon, Feb 28, 2022 at 12:04 PM Nicolas Cavallari
<[email protected]> wrote:
>
> Do not call get_trip_hyst() if the thermal zone does not define one.
>
> Signed-off-by: Nicolas Cavallari <[email protected]>
> ---
> drivers/thermal/thermal_netlink.c | 5 +++--
> 1 file changed, 3 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/thermal/thermal_netlink.c b/drivers/thermal/thermal_netlink.c
> index a16dd4d5d710..73e68cce292e 100644
> --- a/drivers/thermal/thermal_netlink.c
> +++ b/drivers/thermal/thermal_netlink.c
> @@ -419,11 +419,12 @@ static int thermal_genl_cmd_tz_get_trip(struct param *p)
> for (i = 0; i < tz->trips; i++) {
>
> enum thermal_trip_type type;
> - int temp, hyst;
> + int temp, hyst = 0;
>
> tz->ops->get_trip_type(tz, i, &type);
> tz->ops->get_trip_temp(tz, i, &temp);
> - tz->ops->get_trip_hyst(tz, i, &hyst);
> + if (tz->ops->get_trip_hyst)
> + tz->ops->get_trip_hyst(tz, i, &hyst);
>
> if (nla_put_u32(msg, THERMAL_GENL_ATTR_TZ_TRIP_ID, i) ||
> nla_put_u32(msg, THERMAL_GENL_ATTR_TZ_TRIP_TYPE, type) ||
> --
Applied, but I think this needs to go into 5.17-rc, doesn't it?
Daniel?
On 01/03/2022 16:14, Rafael J. Wysocki wrote:
> On Mon, Feb 28, 2022 at 12:04 PM Nicolas Cavallari
> <[email protected]> wrote:
>>
>> Do not call get_trip_hyst() if the thermal zone does not define one.
>>
>> Signed-off-by: Nicolas Cavallari <[email protected]>
>> ---
>> drivers/thermal/thermal_netlink.c | 5 +++--
>> 1 file changed, 3 insertions(+), 2 deletions(-)
>>
>> diff --git a/drivers/thermal/thermal_netlink.c b/drivers/thermal/thermal_netlink.c
>> index a16dd4d5d710..73e68cce292e 100644
>> --- a/drivers/thermal/thermal_netlink.c
>> +++ b/drivers/thermal/thermal_netlink.c
>> @@ -419,11 +419,12 @@ static int thermal_genl_cmd_tz_get_trip(struct param *p)
>> for (i = 0; i < tz->trips; i++) {
>>
>> enum thermal_trip_type type;
>> - int temp, hyst;
>> + int temp, hyst = 0;
>>
>> tz->ops->get_trip_type(tz, i, &type);
>> tz->ops->get_trip_temp(tz, i, &temp);
>> - tz->ops->get_trip_hyst(tz, i, &hyst);
>> + if (tz->ops->get_trip_hyst)
>> + tz->ops->get_trip_hyst(tz, i, &hyst);
>>
>> if (nla_put_u32(msg, THERMAL_GENL_ATTR_TZ_TRIP_ID, i) ||
>> nla_put_u32(msg, THERMAL_GENL_ATTR_TZ_TRIP_TYPE, type) ||
>> --
>
> Applied, but I think this needs to go into 5.17-rc, doesn't it?
Yes, correct
--
<http://www.linaro.org/> Linaro.org │ Open source software for ARM SoCs
Follow Linaro: <http://www.facebook.com/pages/Linaro> Facebook |
<http://twitter.com/#!/linaroorg> Twitter |
<http://www.linaro.org/linaro-blog/> Blog