Not all devices have an ACPI companion fwnode, so device might be NULL. This is similar to the commit cd2fd6eab480 ("platform/x86: int3472: Check for adev == NULL"). Add a check for device not being set and return -ENODEV in that case to avoid a possible NULL pointer deref in parse_wdg(). Note, acpi_wmi_probe() under the same file has such a check. Signed-off-by: Chenyuan Yang <chenyuan0y@xxxxxxxxx> --- drivers/platform/x86/wmi.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/platform/x86/wmi.c b/drivers/platform/x86/wmi.c index 646370bd6b03..54e697838c1e 100644 --- a/drivers/platform/x86/wmi.c +++ b/drivers/platform/x86/wmi.c @@ -1091,6 +1091,9 @@ static int parse_wdg(struct device *wmi_bus_dev, struct platform_device *pdev) u32 i, total; int retval; + if (!device) + return -ENODEV; + status = acpi_evaluate_object(device->handle, "_WDG", NULL, &out); if (ACPI_FAILURE(status)) return -ENXIO; -- 2.34.1