acer-wmi broken in latest git kernel on TravelMate 6492 (Insufficient arguments - method [WQAA]) - Kernel

This is a discussion on acer-wmi broken in latest git kernel on TravelMate 6492 (Insufficient arguments - method [WQAA]) - Kernel ; Hi all, running Linus' latest (2b12a4c) git kernel, acer-wmi triggers the following ACPI Error on my Acer TravelMate 6492: acer-wmi: Acer Laptop ACPI-WMI Extras ACPI Error (nseval-0159): Insufficient arguments - method [WQAA] needs 1, found 0 [20080609] acer-wmi: Unable to ...

+ Reply to Thread
Results 1 to 5 of 5

Thread: acer-wmi broken in latest git kernel on TravelMate 6492 (Insufficient arguments - method [WQAA])

  1. acer-wmi broken in latest git kernel on TravelMate 6492 (Insufficient arguments - method [WQAA])

    Hi all,

    running Linus' latest (2b12a4c) git kernel, acer-wmi triggers the
    following ACPI Error on my Acer TravelMate 6492:

    acer-wmi: Acer Laptop ACPI-WMI Extras
    ACPI Error (nseval-0159): Insufficient arguments - method [WQAA] needs 1, found 0 [20080609]
    acer-wmi: Unable to detect available WMID devices

    Reverting commit f3454ae8104efb2dbf0d08ec42c6f5d0fe9225bc (ACPICA: Add
    argument count checking to control method invocation via
    acpi_evaluate_object) makes acer_wmi work as before.

    Doing a little debugging the call trace starting at acer_wmi_init() is:

    WMID_set_capabilities() (called from drivers/misc/acer-wmi.c:1192)
    wmi_query_block(WMID_GUID2, 1, &out) (called from drivers/misc/acer-wmi.c:747)
    acpi_evaluate_object(handle, method, NULL, out) (called from drivers/acpi/wmi.c:350)
    acpi_ns_evaluate(info) (called from drivers/acpi/namespace/nsxfeval.c:258)

    Is it a bug in acer-wmi or in Acer's ACPI implementation? I can provide
    more information as necessary.

    Sven
    --
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

  2. Re: acer-wmi broken in latest git kernel on TravelMate 6492 (Insufficient arguments - method [WQAA])

    On Saturday 02 August 2008 16:50:54 Sven Wegener wrote:
    > Is it a bug in acer-wmi or in Acer's ACPI implementation? I can provide
    > more information as necessary.


    Neither - it's a bug in wmi.c

    Try the following patch:
    ---
    ACPI: WMI: Set instance for query block calls

    From: Carlos Corbacho

    Although the necessary data structure was set up, it was never actually
    passed in, so data block calls have only been working by sheer chance.

    (On Acer laptops. the data block methods we've been calling never look at
    the instance value, hence acer-wmi never triggered this before).

    f3454ae8104efb2dbf0d08ec42c6f5d0fe9225bc brought this to light.

    Signed-off-by: Carlos Corbacho
    ---

    drivers/acpi/wmi.c | 2 +-
    1 files changed, 1 insertions(+), 1 deletions(-)


    diff --git a/drivers/acpi/wmi.c b/drivers/acpi/wmi.c
    index c33b1c6..cfe2c83 100644
    --- a/drivers/acpi/wmi.c
    +++ b/drivers/acpi/wmi.c
    @@ -347,7 +347,7 @@ struct acpi_buffer *out)
    strcpy(method, "WQ");
    strncat(method, block->object_id, 2);

    - status = acpi_evaluate_object(handle, method, NULL, out);
    + status = acpi_evaluate_object(handle, method, &input, out);

    /*
    * If ACPI_WMI_EXPENSIVE, call the relevant WCxx method, even if
    --
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

  3. Re: acer-wmi broken in latest git kernel on TravelMate 6492 (Insufficient arguments - method [WQAA])

    On Sat, 2 Aug 2008, Carlos Corbacho wrote:

    > On Saturday 02 August 2008 16:50:54 Sven Wegener wrote:
    > > Is it a bug in acer-wmi or in Acer's ACPI implementation? I can provide
    > > more information as necessary.

    >
    > Neither - it's a bug in wmi.c
    >
    > Try the following patch:
    > ---
    > ACPI: WMI: Set instance for query block calls
    >
    > From: Carlos Corbacho
    >
    > Although the necessary data structure was set up, it was never actually
    > passed in, so data block calls have only been working by sheer chance.
    >
    > (On Acer laptops. the data block methods we've been calling never look at
    > the instance value, hence acer-wmi never triggered this before).
    >
    > f3454ae8104efb2dbf0d08ec42c6f5d0fe9225bc brought this to light.
    >
    > Signed-off-by: Carlos Corbacho


    Yep, that fixes it, thanks.

    Tested-by: Sven Wegener

    > diff --git a/drivers/acpi/wmi.c b/drivers/acpi/wmi.c
    > index c33b1c6..cfe2c83 100644
    > --- a/drivers/acpi/wmi.c
    > +++ b/drivers/acpi/wmi.c
    > @@ -347,7 +347,7 @@ struct acpi_buffer *out)
    > strcpy(method, "WQ");
    > strncat(method, block->object_id, 2);
    >
    > - status = acpi_evaluate_object(handle, method, NULL, out);
    > + status = acpi_evaluate_object(handle, method, &input, out);
    >
    > /*
    > * If ACPI_WMI_EXPENSIVE, call the relevant WCxx method, even if

    --
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

  4. Re: acer-wmi broken in latest git kernel on TravelMate 6492 (Insufficient arguments - method [WQAA])

    On Sat, Aug 02, 2008 at 05:28:45PM +0100, Carlos Corbacho wrote:
    > ACPI: WMI: Set instance for query block calls
    >
    > From: Carlos Corbacho
    >
    > Although the necessary data structure was set up, it was never actually
    > passed in, so data block calls have only been working by sheer chance.


    Hm. Has this gone upstream? Looks pretty important for .27.

    --
    Matthew Garrett | mjg59@srcf.ucam.org
    --
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

  5. Re: acer-wmi broken in latest git kernel on TravelMate 6492 (Insufficient arguments - method [WQAA])

    On Wed, 27 Aug 2008, Matthew Garrett wrote:

    > On Sat, Aug 02, 2008 at 05:28:45PM +0100, Carlos Corbacho wrote:
    > > ACPI: WMI: Set instance for query block calls
    > >
    > > From: Carlos Corbacho
    > >
    > > Although the necessary data structure was set up, it was never actually
    > > passed in, so data block calls have only been working by sheer chance.

    >
    > Hm. Has this gone upstream? Looks pretty important for .27.


    Yes, it's dab36ad8d50dc9424dfc4926f62aaf9bd52dcf13.

    Sven
    --
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

+ Reply to Thread