Commit f9bd3762 authored by Kaushlendra Kumar's avatar Kaushlendra Kumar Committed by Shuah Khan
Browse files

tools/power cpupower: Reset errno before strtoull()

cpuidle_state_get_one_value() never cleared errno before calling
strtoull(), so a prior ERANGE caused every cpuidle counter read to
return zero. Reset errno to 0 before the conversion so each sysfs read
is evaluated independently.

Link: https://lore.kernel.org/r/20251201121745.3776703-1-kaushlendra.kumar@intel.com


Signed-off-by: default avatarKaushlendra Kumar <kaushlendra.kumar@intel.com>
Signed-off-by: default avatarShuah Khan <skhan@linuxfoundation.org>
parent 1b9aaf36
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -150,6 +150,7 @@ unsigned long long cpuidle_state_get_one_value(unsigned int cpu,
	if (len == 0)
		return 0;

	errno = 0;
	value = strtoull(linebuf, &endp, 0);

	if (endp == linebuf || errno == ERANGE)