[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <MN0PR12MB6101426E91BB9B6D1A4F03F6E2329@MN0PR12MB6101.namprd12.prod.outlook.com>
Date: Fri, 28 Oct 2022 16:08:53 +0000
From: "Limonciello, Mario" <Mario.Limonciello@....com>
To: Jorge Lopez <jorgealtxwork@...il.com>,
"hdegoede@...hat.com" <hdegoede@...hat.com>,
"balalic.enver@...il.com" <balalic.enver@...il.com>,
"platform-driver-x86@...r.kernel.org"
<platform-driver-x86@...r.kernel.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>
CC: "markgross@...nel.org" <markgross@...nel.org>,
"Tsao, Anson" <anson.tsao@....com>
Subject: RE: [PATCH v1] hp_wmi causing rfkill soft blocked wifi
[Public]
+Anson
> -----Original Message-----
> From: Jorge Lopez <jorgealtxwork@...il.com>
> Sent: Friday, October 28, 2022 10:55
> To: hdegoede@...hat.com; balalic.enver@...il.com; platform-driver-
> x86@...r.kernel.org; linux-kernel@...r.kernel.org
> Cc: markgross@...nel.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@...com>
Link: https://bugzilla.kernel.org/show_bug.cgi?id=216468
Reviewed-by: Mario Limonciello <mario.limonciello@....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.
>
> ---
> 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
Powered by blists - more mailing lists