Re: [PATCH v1] platform/x86: Check ACPI_COMPANION() against NULL during probe
From: Jonathan Woithe
Date: Mon May 11 2026 - 20:42:41 EST
On Mon, May 11, 2026 at 09:48:26PM +0200, Rafael J. Wysocki wrote:
> From: "Rafael J. Wysocki" <rafael.j.wysocki@xxxxxxxxx>
>
> 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 requisite ACPI_COMPANION() or ACPI_HANDLE() checks
> against NULL to multiple platform/x86 drivers that have been converted
> to platform drivers from ACPI drivers recently.
For the fujitsu-laptop portions of the patch as below:
Acked-by: Jonathan Woithe <jwoithe@xxxxxxxxxx>
Regards
jonathan
--
> :
> Fixes: 6da22b031a3c ("platform/x86: fujitsu: Convert laptop driver to a platform one")
> Fixes: d5c9212ccfaa ("platform/x86: fujitsu: Convert backlight driver to a platform one")
> :
> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx>
> ---
> drivers/platform/x86/fujitsu-laptop.c | 12 ++++++++++--
> :
> --- a/drivers/platform/x86/fujitsu-laptop.c
> +++ b/drivers/platform/x86/fujitsu-laptop.c
> @@ -530,10 +530,14 @@ static void acpi_fujitsu_bl_notify(acpi_
>
> static int acpi_fujitsu_bl_probe(struct platform_device *pdev)
> {
> - struct acpi_device *device = ACPI_COMPANION(&pdev->dev);
> + struct acpi_device *device;
> struct fujitsu_bl *priv;
> int ret;
>
> + device = ACPI_COMPANION(&pdev->dev);
> + if (!device)
> + return -ENODEV;
> +
> if (acpi_video_get_backlight_type() != acpi_backlight_vendor)
> return -ENODEV;
>
> @@ -993,10 +997,14 @@ static void acpi_fujitsu_laptop_notify(a
>
> static int acpi_fujitsu_laptop_probe(struct platform_device *pdev)
> {
> - struct acpi_device *device = ACPI_COMPANION(&pdev->dev);
> struct fujitsu_laptop *priv;
> + struct acpi_device *device;
> int ret, i = 0;
>
> + device = ACPI_COMPANION(&pdev->dev);
> + if (!device)
> + return -ENODEV;
> +
> priv = devm_kzalloc(&pdev->dev, sizeof(*priv), GFP_KERNEL);
> if (!priv)
> return -ENOMEM;