platform/x86: wmi: Use ACPI device name in netlink event
authorArmin Wolf <W_Armin@gmx.de>
Sun, 21 Jan 2024 20:08:24 +0000 (21:08 +0100)
committerIlpo Järvinen <ilpo.jarvinen@linux.intel.com>
Wed, 24 Jan 2024 11:09:10 +0000 (13:09 +0200)
The device name inside the ACPI netlink event is limited to
15 characters, so the WMI device name will get truncated.

This can be observed with kacpimon when receiving an event
from WMI device "9DBB5994-A997-11DA-B012-B622A1EF5492":

netlink:  9DBB5994-A997- 000000d0 00000000

Fix this by using the shorter device name from the ACPI
bus device instead. This still allows users to uniquely
identify the WMI device by using the notify id (0xd0).

Signed-off-by: Armin Wolf <W_Armin@gmx.de>
Reviewed-by: Hans de Goede <hdegoede@redhat.com>
Link: https://lore.kernel.org/r/20240121200824.2778-1-W_Armin@gmx.de
Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
drivers/platform/x86/wmi.c

index bd271a5730aa51f1c1e6286e2b481e865799b79a..7ef1e82dc61c38741cc171c69d534c41b539f86b 100644 (file)
@@ -1203,7 +1203,7 @@ static int wmi_notify_device(struct device *dev, void *data)
        }
 
        acpi_bus_generate_netlink_event(wblock->acpi_device->pnp.device_class,
-                                       dev_name(&wblock->dev.dev), *event, 0);
+                                       acpi_dev_name(wblock->acpi_device), *event, 0);
 
        return -EBUSY;
 }