2023-05-22 22:48:06

by srinivas pandruvada

[permalink] [raw]
Subject: [PATCH] thermal: int340x: Add new line for UUID display

Prior to the commit:
"763bd29fd3d1 ("thermal: int340x_thermal: Use sysfs_emit_at() instead of
scnprintf()"
there was a new line after each UUID string. With the newline removed,
existing user space like "thermald" fails to compare each supported UUID
as it is using getline() to read UUID and apply correct thermal table.

To avoid breaking existing user space, add newline after each UUID string.

Signed-off-by: Srinivas Pandruvada <[email protected]>
Fixes: 763bd29fd3d1 ("thermal: int340x_thermal: Use sysfs_emit_at() instead of scnprintf()")
Cc: [email protected] # v6.3+
---
drivers/thermal/intel/int340x_thermal/int3400_thermal.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/thermal/intel/int340x_thermal/int3400_thermal.c b/drivers/thermal/intel/int340x_thermal/int3400_thermal.c
index 810231b59dcd..5e1164226ada 100644
--- a/drivers/thermal/intel/int340x_thermal/int3400_thermal.c
+++ b/drivers/thermal/intel/int340x_thermal/int3400_thermal.c
@@ -131,7 +131,7 @@ static ssize_t available_uuids_show(struct device *dev,

for (i = 0; i < INT3400_THERMAL_MAXIMUM_UUID; i++) {
if (priv->uuid_bitmap & (1 << i))
- length += sysfs_emit_at(buf, length, int3400_thermal_uuids[i]);
+ length += sysfs_emit_at(buf, length, "%s\n", int3400_thermal_uuids[i]);
}

return length;
@@ -149,7 +149,7 @@ static ssize_t current_uuid_show(struct device *dev,

for (i = 0; i <= INT3400_THERMAL_CRITICAL; i++) {
if (priv->os_uuid_mask & BIT(i))
- length += sysfs_emit_at(buf, length, int3400_thermal_uuids[i]);
+ length += sysfs_emit_at(buf, length, "%s\n", int3400_thermal_uuids[i]);
}

if (length)
--
2.39.1



2023-05-24 18:51:55

by Rafael J. Wysocki

[permalink] [raw]
Subject: Re: [PATCH] thermal: int340x: Add new line for UUID display

On Tue, May 23, 2023 at 12:39 AM Srinivas Pandruvada
<[email protected]> wrote:
>
> Prior to the commit:
> "763bd29fd3d1 ("thermal: int340x_thermal: Use sysfs_emit_at() instead of
> scnprintf()"
> there was a new line after each UUID string. With the newline removed,
> existing user space like "thermald" fails to compare each supported UUID
> as it is using getline() to read UUID and apply correct thermal table.
>
> To avoid breaking existing user space, add newline after each UUID string.
>
> Signed-off-by: Srinivas Pandruvada <[email protected]>
> Fixes: 763bd29fd3d1 ("thermal: int340x_thermal: Use sysfs_emit_at() instead of scnprintf()")
> Cc: [email protected] # v6.3+
> ---
> drivers/thermal/intel/int340x_thermal/int3400_thermal.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/thermal/intel/int340x_thermal/int3400_thermal.c b/drivers/thermal/intel/int340x_thermal/int3400_thermal.c
> index 810231b59dcd..5e1164226ada 100644
> --- a/drivers/thermal/intel/int340x_thermal/int3400_thermal.c
> +++ b/drivers/thermal/intel/int340x_thermal/int3400_thermal.c
> @@ -131,7 +131,7 @@ static ssize_t available_uuids_show(struct device *dev,
>
> for (i = 0; i < INT3400_THERMAL_MAXIMUM_UUID; i++) {
> if (priv->uuid_bitmap & (1 << i))
> - length += sysfs_emit_at(buf, length, int3400_thermal_uuids[i]);
> + length += sysfs_emit_at(buf, length, "%s\n", int3400_thermal_uuids[i]);
> }
>
> return length;
> @@ -149,7 +149,7 @@ static ssize_t current_uuid_show(struct device *dev,
>
> for (i = 0; i <= INT3400_THERMAL_CRITICAL; i++) {
> if (priv->os_uuid_mask & BIT(i))
> - length += sysfs_emit_at(buf, length, int3400_thermal_uuids[i]);
> + length += sysfs_emit_at(buf, length, "%s\n", int3400_thermal_uuids[i]);
> }
>
> if (length)
> --

Applied as 6.4-rc material, thanks!