diff mbox

acpi: The count field of counter_show() function should be an unsigned value

Message ID 1425466115-26306-1-git-send-email-jlee@suse.com (mailing list archive)
State Accepted, archived
Delegated to: Rafael Wysocki
Headers show

Commit Message

Chun-Yi Lee March 4, 2015, 10:48 a.m. UTC
From: Nan Li <nli@suse.com>

The count field is an unsigned 32bit value, and the
counter_show() function should also treat it as a unsigned
value.

Otherwise the counter may show negative number as we found on a
machine:
...
gpe23:        0   invalid
gpe24: -2071733   enabled
gpe25:        0   invalid
...
gpe_all: -2070980
sci: -2070949

Cc: "Rafael J. Wysocki" <rjw@rjwysocki.net>
Cc: Len Brown <lenb@kernel.org>
Cc: Thomas Renninger <trenn@suse.de>
Signed-off-by: Nan Li <nli@suse.com>
Signed-off-by: Lee, Chun-Yi <jlee@suse.com>
---
 drivers/acpi/sysfs.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Rafael J. Wysocki March 12, 2015, 10:41 p.m. UTC | #1
On Wednesday, March 04, 2015 06:48:35 PM Lee, Chun-Yi wrote:
> From: Nan Li <nli@suse.com>
> 
> The count field is an unsigned 32bit value, and the
> counter_show() function should also treat it as a unsigned
> value.
> 
> Otherwise the counter may show negative number as we found on a
> machine:
> ...
> gpe23:        0   invalid
> gpe24: -2071733   enabled
> gpe25:        0   invalid
> ...
> gpe_all: -2070980
> sci: -2070949
> 
> Cc: "Rafael J. Wysocki" <rjw@rjwysocki.net>
> Cc: Len Brown <lenb@kernel.org>
> Cc: Thomas Renninger <trenn@suse.de>
> Signed-off-by: Nan Li <nli@suse.com>
> Signed-off-by: Lee, Chun-Yi <jlee@suse.com>

Queued up for 4.1, thanks!

> ---
>  drivers/acpi/sysfs.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/acpi/sysfs.c b/drivers/acpi/sysfs.c
> index 13e577c..0876d77 100644
> --- a/drivers/acpi/sysfs.c
> +++ b/drivers/acpi/sysfs.c
> @@ -527,7 +527,7 @@ static ssize_t counter_show(struct kobject *kobj,
>  	    acpi_irq_not_handled;
>  	all_counters[num_gpes + ACPI_NUM_FIXED_EVENTS + COUNT_GPE].count =
>  	    acpi_gpe_count;
> -	size = sprintf(buf, "%8d", all_counters[index].count);
> +	size = sprintf(buf, "%8u", all_counters[index].count);
>  
>  	/* "gpe_all" or "sci" */
>  	if (index >= num_gpes + ACPI_NUM_FIXED_EVENTS)
>
diff mbox

Patch

diff --git a/drivers/acpi/sysfs.c b/drivers/acpi/sysfs.c
index 13e577c..0876d77 100644
--- a/drivers/acpi/sysfs.c
+++ b/drivers/acpi/sysfs.c
@@ -527,7 +527,7 @@  static ssize_t counter_show(struct kobject *kobj,
 	    acpi_irq_not_handled;
 	all_counters[num_gpes + ACPI_NUM_FIXED_EVENTS + COUNT_GPE].count =
 	    acpi_gpe_count;
-	size = sprintf(buf, "%8d", all_counters[index].count);
+	size = sprintf(buf, "%8u", all_counters[index].count);
 
 	/* "gpe_all" or "sci" */
 	if (index >= num_gpes + ACPI_NUM_FIXED_EVENTS)