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

platform/x86: lg-laptop: 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 lg-laptop driver.

Fixes: 2d9cb206 ("platform/x86: lg-laptop: 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/3706551.iIbC2pHGDl@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 922952f2
Loading
Loading
Loading
Loading
+7 −2
Original line number Diff line number Diff line
@@ -761,12 +761,11 @@ static void lg_laptop_remove_address_space_handler(void *data)

static int acpi_probe(struct platform_device *pdev)
{
	struct acpi_device *device = ACPI_COMPANION(&pdev->dev);
	struct platform_device_info pdev_info = {
		.fwnode = acpi_fwnode_handle(device),
		.name = PLATFORM_NAME,
		.id = PLATFORM_DEVID_NONE,
	};
	struct acpi_device *device;
	acpi_status status;
	int ret;
	const char *product;
@@ -775,6 +774,12 @@ static int acpi_probe(struct platform_device *pdev)
	if (pf_device)
		return 0;

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

	pdev_info.fwnode = acpi_fwnode_handle(device),

	status = acpi_install_address_space_handler(device->handle, LG_ADDRESS_SPACE_ID,
						    &lg_laptop_address_space_handler,
						    NULL, &pdev->dev);