hwmon: (hp-wmi-sensors) Fix failure to load on EliteDesk 800 G6
authorJames Seo <james@equiv.tech>
Thu, 23 Nov 2023 05:49:19 +0000 (21:49 -0800)
committerGuenter Roeck <linux@roeck-us.net>
Mon, 11 Dec 2023 14:21:01 +0000 (06:21 -0800)
commitc9ba592580947b81f33f514320aeef02ddc001fd
treefda8252579eaf2a104366ba7173ae1c75fea332e
parentf07f9d2467f4a298d24e186ddee6f69724903067
hwmon: (hp-wmi-sensors) Fix failure to load on EliteDesk 800 G6

The EliteDesk 800 G6 stores a raw WMI string within the ACPI object in its
BIOS corresponding to one instance of HPBIOS_PlatformEvents.Name. This is
evidently a valid way of representing a WMI data item as far as the
Microsoft ACPI-WMI mapper is concerned, but is preventing the driver from
loading.

This seems quite rare, but add support for such strings. Treating this as a
quirk pretty much means adding that support anyway.

Also clean up an oversight in update_numeric_sensor_from_wobj() in which
the result of hp_wmi_strdup() was being used without error checking.

Reported-by: Lukasz Stelmach <l.stelmach@samsung.com>
Closes: https://lore.kernel.org/linux-hwmon/7850a0bd-60e7-88f8-1d6c-0bb0e3234fdc@roeck-us.net/
Tested-by: Lukasz Stelmach <l.stelmach@samsung.com>
Signed-off-by: James Seo <james@equiv.tech>
Link: https://lore.kernel.org/r/20231123054918.157098-1-james@equiv.tech
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
drivers/hwmon/hp-wmi-sensors.c