]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
phy: phy-can-transceiver: Check driver match and driver data against NULL
authorAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Wed, 13 May 2026 22:01:26 +0000 (00:01 +0200)
committerVinod Koul <vkoul@kernel.org>
Thu, 14 May 2026 15:32:21 +0000 (21:02 +0530)
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 driver
data need to verify its presence.

Accordingly, add requisite match and driver data checks against NULL
to the driver where they are missing.

Fixes: a4a86d273ff1 ("phy: phy-can-transceiver: Add support for generic CAN transceiver driver")
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Link: https://patch.msgid.link/20260513220336.369628-2-andriy.shevchenko@linux.intel.com
Signed-off-by: Vinod Koul <vkoul@kernel.org>
drivers/phy/phy-can-transceiver.c

index 2b52e47f247a2b1742dd0a8d5aaf0eb106073d56..1808f903c05707657e1f25baf8f68641070a2b92 100644 (file)
@@ -162,6 +162,9 @@ static int can_transceiver_phy_probe(struct platform_device *pdev)
        int err, i, num_ch = 1;
 
        match = of_match_node(can_transceiver_phy_ids, pdev->dev.of_node);
+       if (!match || !match->data)
+               return -ENODEV;
+
        drvdata = match->data;
        if (drvdata->flags & CAN_TRANSCEIVER_DUAL_CH)
                num_ch = 2;