Unverified Commit 53a8f95c authored by Rafael J. Wysocki's avatar Rafael J. Wysocki Committed by Ilpo Järvinen
Browse files

platform/x86: wireless-hotkey: Check ACPI_COMPANION() against NULL



Every platform driver can be forced to match a device that doesn't match
its list of device IDs because of device_match_driver_override(), so
platform drivers that rely on the existence of a device's ACPI companion
object need to verify its presence.

Accordingly, add a requisite ACPI_COMPANION() check against NULL to the
platform/x86 wireless-hotkey driver.

Fixes: 8507277e ("platform/x86: wireless-hotkey: Convert ACPI driver to a platform one")
Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
Reviewed-by: default avatarAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Link: https://patch.msgid.link/3899916.MHq7AAxBmi@rafael.j.wysocki


Reviewed-by: default avatarIlpo Järvinen <ilpo.jarvinen@linux.intel.com>
Signed-off-by: default avatarIlpo Järvinen <ilpo.jarvinen@linux.intel.com>
parent 4840f8bb
Loading
Loading
Loading
Loading
+7 −2
Original line number Diff line number Diff line
@@ -89,9 +89,14 @@ static void wl_notify(acpi_handle handle, u32 event, void *data)

static int wl_probe(struct platform_device *pdev)
{
	struct acpi_device *adev;
	struct wl_button *button;
	int err;

	adev = ACPI_COMPANION(&pdev->dev);
	if (!adev)
		return -ENODEV;

	button = kzalloc_obj(struct wl_button);
	if (!button)
		return -ENOMEM;
@@ -104,8 +109,8 @@ static int wl_probe(struct platform_device *pdev)
		kfree(button);
		return err;
	}
	err = acpi_dev_install_notify_handler(ACPI_COMPANION(&pdev->dev),
					      ACPI_DEVICE_NOTIFY, wl_notify, button);
	err = acpi_dev_install_notify_handler(adev, ACPI_DEVICE_NOTIFY,
					      wl_notify, button);
	if (err) {
		pr_err("Failed to install ACPI notify handler\n");
		wireless_input_destroy(&pdev->dev);