Re: [PATCH v1] hp_wmi causing rfkill soft blocked wifi

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

 



Hi,

On 10/28/22 18:08, Limonciello, Mario wrote:
> [Public]
> 
> +Anson
> 
>> -----Original Message-----
>> From: Jorge Lopez <jorgealtxwork@xxxxxxxxx>
>> Sent: Friday, October 28, 2022 10:55
>> To: hdegoede@xxxxxxxxxx; balalic.enver@xxxxxxxxx; platform-driver-
>> x86@xxxxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx
>> Cc: markgross@xxxxxxxxxx
>> 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@xxxxxx>
> 
> Link: https://bugzilla.kernel.org/show_bug.cgi?id=216468
> Reviewed-by: Mario Limonciello <mario.limonciello@xxxxxxx>
> 
> 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
> 




[Index of Archives]     [Linux Kernel Development]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux