[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#692436: [PATCH] asus-laptop: Do not call HWRS on init



On Fri, Nov 9, 2012 at 9:12 AM, Corentin Chary <corentin.chary@gmail.com> wrote:
> On Fri, Nov 9, 2012 at 3:07 AM, Ben Hutchings <ben@decadent.org.uk> wrote:
>> Since commit 8871e99f89b7 ('asus-laptop: HRWS/HWRS typo'), module
>> initialisation is very slow on the Asus UL30A.  The HWRS method takes
>> about 12 seconds to run, and subsequent initialisation also seems to
>> be delayed.  Since we don't really need the result, don't bother
>> calling it on init.  Those who are curious can still get the result
>> through the 'infos' device attribute.
>>
>> Update the comment about HWRS in show_infos().
>>
>> Reported-by: ryan <draziw+deb@gmail.com>
>> References: http://bugs.debian.org/692436
>> Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
>> Cc: <stable@vger.kernel.org> # v3.0+
>> ---
>>  drivers/platform/x86/asus-laptop.c |   17 ++++-------------
>>  1 file changed, 4 insertions(+), 13 deletions(-)
>>
>> diff --git a/drivers/platform/x86/asus-laptop.c b/drivers/platform/x86/asus-laptop.c
>> index 4b568df..a961156 100644
>> --- a/drivers/platform/x86/asus-laptop.c
>> +++ b/drivers/platform/x86/asus-laptop.c
>> @@ -860,8 +860,10 @@ static ssize_t show_infos(struct device *dev,
>>         /*
>>          * The HWRS method return informations about the hardware.
>>          * 0x80 bit is for WLAN, 0x100 for Bluetooth.
>> +        * 0x40 for WWAN, 0x10 for WIMAX.
>>          * The significance of others is yet to be found.
>> -        * If we don't find the method, we assume the device are present.
>> +        * We don't currently use this for device detection, and it
>> +        * takes several seconds to run on some systems.
>>          */
>>         rv = acpi_evaluate_integer(asus->handle, "HWRS", NULL, &temp);
>>         if (!ACPI_FAILURE(rv))
>> @@ -1682,7 +1684,7 @@ static int asus_laptop_get_info(struct asus_laptop *asus)
>>  {
>>         struct acpi_buffer buffer = { ACPI_ALLOCATE_BUFFER, NULL };
>>         union acpi_object *model = NULL;
>> -       unsigned long long bsts_result, hwrs_result;
>> +       unsigned long long bsts_result;
>>         char *string = NULL;
>>         acpi_status status;
>>
>> @@ -1744,17 +1746,6 @@ static int asus_laptop_get_info(struct asus_laptop *asus)
>>         if (*string)
>>                 pr_notice("  %s model detected\n", string);
>>
>> -       /*
>> -        * The HWRS method return informations about the hardware.
>> -        * 0x80 bit is for WLAN, 0x100 for Bluetooth,
>> -        * 0x40 for WWAN, 0x10 for WIMAX.
>> -        * The significance of others is yet to be found.
>> -        */
>> -       status =
>> -           acpi_evaluate_integer(asus->handle, "HWRS", NULL, &hwrs_result);
>> -       if (!ACPI_FAILURE(status))
>> -               pr_notice("  HWRS returned %x", (int)hwrs_result);
>> -
>>         if (!acpi_check_handle(asus->handle, METHOD_WL_STATUS, NULL))
>>                 asus->have_rsts = true;
>>
>>
>>
>
> Acked-by: Corentin Chary <corentin.chary@gmail.com>

Arg, at first I though it was another gmail quirk, but it seems that
evolution broke your patch. Can you re-send it using git instead ?


--
Corentin Chary
http://xf.iksaif.net


Reply to: