mbox series

[0/4] platform/x86: wmi: Event handling fixes

Message ID 20240103192707.115512-1-W_Armin@gmx.de (mailing list archive)
Headers show
Series platform/x86: wmi: Event handling fixes | expand

Message

Armin Wolf Jan. 3, 2024, 7:27 p.m. UTC
This patch series contains various fixes for the handling of
WMI events. The first patch fixes an issue where the WMI core
would return an error even when a legacy WMI notify handler
was installed successfully.

The second patch cleans up the last remains of
commit 58f6425eb92f ("WMI: Cater for multiple events with same GUID"),
which is useless now that legacy WMI handlers cannot see duplicated
GUIDS. This however might highlight a potential problem:

In the email thread concerning aforementioned commit, a (now legacy)
WMI driver was mentioned which depended on this functionality.
I believe this driver is the dell-wmi-aio driver, so this driver is
likely already broken for some time and should be converted to the
new bus-based interface.

The next patch decouples the legacy WMI notify handlers from the
wmi_block_list, while the last patch fixes a race condition when a
notify callback is called by the WMI core.

All patches have been tested on a Dell Inspiron 3505 and a
Acer Aspire E1-731.

Armin Wolf (4):
  platform/x86: wmi: Fix error handling in legacy WMI notify handler
    functions
  platform/x86: wmi: Return immediately if an suitable WMI event is
    found
  platform/x86: wmi: Decouple legacy WMI notify handlers from
    wmi_block_list
  platform/x86: wmi: Fix notify callback locking

 drivers/platform/x86/wmi.c | 179 +++++++++++++++++++++++--------------
 1 file changed, 111 insertions(+), 68 deletions(-)

--
2.39.2

Comments

Hans de Goede Jan. 8, 2024, 2 p.m. UTC | #1
Hi Armin,

On 1/3/24 20:27, Armin Wolf wrote:
> This patch series contains various fixes for the handling of
> WMI events. The first patch fixes an issue where the WMI core
> would return an error even when a legacy WMI notify handler
> was installed successfully.
> 
> The second patch cleans up the last remains of
> commit 58f6425eb92f ("WMI: Cater for multiple events with same GUID"),
> which is useless now that legacy WMI handlers cannot see duplicated
> GUIDS. This however might highlight a potential problem:
> 
> In the email thread concerning aforementioned commit, a (now legacy)
> WMI driver was mentioned which depended on this functionality.
> I believe this driver is the dell-wmi-aio driver, so this driver is
> likely already broken for some time and should be converted to the
> new bus-based interface.
> 
> The next patch decouples the legacy WMI notify handlers from the
> wmi_block_list, while the last patch fixes a race condition when a
> notify callback is called by the WMI core.
> 
> All patches have been tested on a Dell Inspiron 3505 and a
> Acer Aspire E1-731.

Thank you for your patch series, I've applied this series 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.

I will include this series in my next fixes pull-req to Linus
for the current kernel development cycle.

Regards,

Hans



> Armin Wolf (4):
>   platform/x86: wmi: Fix error handling in legacy WMI notify handler
>     functions
>   platform/x86: wmi: Return immediately if an suitable WMI event is
>     found
>   platform/x86: wmi: Decouple legacy WMI notify handlers from
>     wmi_block_list
>   platform/x86: wmi: Fix notify callback locking
> 
>  drivers/platform/x86/wmi.c | 179 +++++++++++++++++++++++--------------
>  1 file changed, 111 insertions(+), 68 deletions(-)
> 
> --
> 2.39.2
>