lkml.org 
[lkml]   [2022]   [Nov]   [7]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
SubjectRe: [PATCH v1] hp_wmi causing rfkill soft blocked wifi
From
Hi,

On 10/28/22 18:08, Limonciello, Mario wrote:
> [Public]
>
> +Anson
>
>> -----Original Message-----
>> From: Jorge Lopez <jorgealtxwork@gmail.com>
>> Sent: Friday, October 28, 2022 10:55
>> To: hdegoede@redhat.com; balalic.enver@gmail.com; platform-driver-
>> x86@vger.kernel.org; linux-kernel@vger.kernel.org
>> Cc: markgross@kernel.org
>> Subject: [PATCH v1] hp_wmi causing rfkill soft blocked wifi
>>
>> After upgrading BIOS to U82 01.02.01 Rev.A, the console is flooded
>> strange char "^@" which printed out every second and makes login
>> nearly impossible. Also the below messages were shown both in console
>> and journal/dmesg every second:
>>
>> usb 1-3: Device not responding to setup address.
>> usb 1-3: device not accepting address 4, error -71
>> usb 1-3: device descriptor read/all, error -71
>> usb usb1-port3: unable to enumerate USB device
>>
>> Wifi is soft blocked by checking rfkill. When unblocked manually,
>> after few seconds it would be soft blocked again. So I was suspecting
>> something triggered rfkill to soft block wifi. At the end it was
>> fixed by removing hp_wmi module.
>>
>> The root cause is the way hp-wmi driver handles command 1B on
>> post-2009 BIOS. In pre-2009 BIOS, command 1Bh return 0x4 to indicate
>> that BIOS no longer controls the power for the wireless devices.
>>
>> Signed-off-by: Jorge Lopez <jorge.lopez2@hp.com>
>
> Link: https://bugzilla.kernel.org/show_bug.cgi?id=216468
> Reviewed-by: Mario Limonciello <mario.limonciello@amd.com>
>
> Hans,
>
> Since this is effectively essentially removing the broken BIOS RFKILL interface
> for numerous machines I think this should probably go to stable too, if you agree.

I agree, I've added a Cc: stable while merging this and I'll include this
in my next fixes pull-req to Linus.

Jorge, many thanks for fixing this!

Thank you for your patch, I've applied this patch to my review-hans
branch:
https://git.kernel.org/pub/scm/linux/kernel/git/pdx86/platform-drivers-x86.git/log/?h=review-hans

Note it will show up in my review-hans branch once I've pushed my
local branch there, which might take a while.

Once I've run some tests on this branch the patches there will be
added to the platform-drivers-x86/for-next branch and eventually
will be included in the pdx86 pull-request to Linus for the next
merge-window.

Regards,

Hans



>
>>
>> ---
>> Based on the latest platform-drivers-x86.git/for-next
>> ---
>> drivers/platform/x86/hp-wmi.c | 11 +++++++++--
>> 1 file changed, 9 insertions(+), 2 deletions(-)
>>
>> diff --git a/drivers/platform/x86/hp-wmi.c b/drivers/platform/x86/hp-wmi.c
>> index 627a6d0eaf83..29cd4e437d97 100644
>> --- a/drivers/platform/x86/hp-wmi.c
>> +++ b/drivers/platform/x86/hp-wmi.c
>> @@ -1300,8 +1300,15 @@ static int __init hp_wmi_bios_setup(struct
>> platform_device *device)
>> wwan_rfkill = NULL;
>> rfkill2_count = 0;
>>
>> - if (hp_wmi_rfkill_setup(device))
>> - hp_wmi_rfkill2_setup(device);
>> + /*
>> + * In pre-2009 BIOS, command 1Bh return 0x4 to indicate that
>> + * BIOS no longer controls the power for the wireless
>> + * devices. All features supported by this command will no
>> + * longer be supported.
>> + */
>> + if (!hp_wmi_bios_2009_later())
>> + if (hp_wmi_rfkill_setup(device))
>> + hp_wmi_rfkill2_setup(device);
>>
>> err = hp_wmi_hwmon_init();
>>
>> --
>> 2.34.1
>

\
 
 \ /
  Last update: 2022-11-07 11:42    [W:0.057 / U:0.200 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site