Messages in this thread | | | Date | Mon, 7 Nov 2022 11:40:49 +0100 | Subject | Re: [PATCH v1] hp_wmi causing rfkill soft blocked wifi | From | Hans de Goede <> |
| |
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 >
| |