]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
Input: atlas - check ACPI_COMPANION() against NULL
authorRafael J. Wysocki <rafael.j.wysocki@intel.com>
Tue, 12 May 2026 16:26:54 +0000 (18:26 +0200)
committerDmitry Torokhov <dmitry.torokhov@gmail.com>
Tue, 12 May 2026 17:57:03 +0000 (10:57 -0700)
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
atlas_btns driver.

Fixes: b8303880b641 ("Input: atlas - convert ACPI driver to a platform one")
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Link: https://patch.msgid.link/8696590.T7Z3S40VBb@rafael.j.wysocki
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
drivers/input/misc/atlas_btns.c

index 47b31725e8507d3ec0c85ce53fdf5929d6b6df45..835ad45a9d65c04e3d2f4feb351c1fef1b8b554a 100644 (file)
@@ -60,11 +60,15 @@ static acpi_status acpi_atlas_button_handler(u32 function,
 
 static int atlas_acpi_button_probe(struct platform_device *pdev)
 {
-       struct acpi_device *device = ACPI_COMPANION(&pdev->dev);
+       struct acpi_device *device;
        acpi_status status;
        int i;
        int err;
 
+       device = ACPI_COMPANION(&pdev->dev);
+       if (!device)
+               return -ENODEV;
+
        input_dev = input_allocate_device();
        if (!input_dev) {
                pr_err("unable to allocate input device\n");