The current legacy WMI handlers are susceptible to picking up wrong WMI event data on systems where different WMI devices share some notification IDs. Prevent this by letting the WMI driver core taking care of retrieving the event data. This also simplifies the legacy WMI handlers and their implementation inside the WMI driver core. The first patch converts all legacy WMI notify handlers to stop using wmi_get_event_data() and instead use the new event data provided by the WMI driver core. The second patch fixes a minor issue discovered inside the hp-wmi-sensors driver, and the remaining patches perform some cleanups. The patch series was tested on a Dell Inspiron 3505 and a Acer Aspire E1-731 and appears to work. Armin Wolf (5): platform/x86: wmi: Pass event data directly to legacy notify handlers hwmon: (hp-wmi-sensors) Check if WMI event data exists platform/x86: wmi: Remove wmi_get_event_data() platform/x86: wmi: Merge get_event_data() with wmi_get_notify_data() platform/x86: wmi: Call both legacy and WMI driver notify handlers drivers/hwmon/hp-wmi-sensors.c | 20 +--- drivers/platform/x86/acer-wmi.c | 16 +-- drivers/platform/x86/asus-wmi.c | 19 +-- drivers/platform/x86/dell/dell-wmi-aio.c | 13 +-- drivers/platform/x86/hp/hp-wmi.c | 16 +-- drivers/platform/x86/huawei-wmi.c | 14 +-- drivers/platform/x86/lg-laptop.c | 13 +-- drivers/platform/x86/msi-wmi.c | 20 +--- drivers/platform/x86/toshiba-wmi.c | 15 +-- drivers/platform/x86/wmi.c | 143 ++++++----------------- include/linux/acpi.h | 3 +- 11 files changed, 53 insertions(+), 239 deletions(-) -- 2.39.2