Re: [PATCH] tc1100-wmi: fix state reporting

From: Carlos Corbacho
Date: Thu Dec 25 2008 - 12:58:46 EST


Len, please apply.

On Thursday 25 December 2008 13:30:46 Krzysztof KosiÅski wrote:
> (Resend)
> This small patch fixes the state reported when reading the files in
> /sys/devices/platofrm/tc1100-wmi/*. The first change fixes always
> returning 0 from the files in sysfs. The second one fixes jogdial
> state reporting to match with the commands used to set it (e.g. now
> after "echo 0 > /sys/devices/platofrm/tc1100-wmi/jogdial", "cat
> /sys/devices/platofrm/tc1100-wmi/jogdial" will return 0 instead of 1).
> Fixes bug #12286.
>
> Signed-off-by: Krzysztof KosiÅski <tweenk.pl@xxxxxxxxx>

Cc: stable@xxxxxxxxxx
Signed-off-by: Carlos Corbacho <carlos@xxxxxxxxxxxxxxxxxxx>

>
> --- linux-2.6.27/drivers/misc/tc1100-wmi.c 2008-10-10
> 00:13:53.000000000 +0200
> +++ linux/drivers/misc/tc1100-wmi.c 2008-12-25 02:58:48.000000000 +0100
> @@ -95,9 +95,8 @@
> return -ENODEV;
>
> obj = (union acpi_object *) result.pointer;
> - if (obj && obj->type == ACPI_TYPE_BUFFER &&
> - obj->buffer.length == sizeof(u32)) {
> - tmp = *((u32 *) obj->buffer.pointer);
> + if (obj && obj->type == ACPI_TYPE_INTEGER) {
> + tmp = obj->integer.value;
> } else {
> tmp = 0;
> }
> @@ -110,7 +109,7 @@
> *out = (tmp == 3) ? 1 : 0;
> return 0;
> case TC1100_INSTANCE_JOGDIAL:
> - *out = (tmp == 1) ? 1 : 0;
> + *out = (tmp == 1) ? 0 : 1;
> return 0;
> default:
> return -ENODEV;

--
E-Mail: carlos@xxxxxxxxxxxxxxxxxxx
Web: strangeworlds.co.uk
GPG Key ID: 0x23EE722D
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/