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 >