diff options
| author | Andy Shevchenko <andriy.shevchenko@linux.intel.com> | 2026-05-14 00:01:26 +0200 |
|---|---|---|
| committer | Vinod Koul <vkoul@kernel.org> | 2026-05-14 21:02:21 +0530 |
| commit | ebee9004cc0200b2b708ebf7ac625d35c71c049f (patch) | |
| tree | 1a00c5e16e38799722822daeb7f1b736dfd29c1e | |
| parent | 1cab8fba5073962712fae3b763417af95ccf476a (diff) | |
phy: phy-can-transceiver: Check driver match and driver data 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 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>
| -rw-r--r-- | drivers/phy/phy-can-transceiver.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/phy/phy-can-transceiver.c b/drivers/phy/phy-can-transceiver.c index 2b52e47f247a..1808f903c057 100644 --- a/drivers/phy/phy-can-transceiver.c +++ b/drivers/phy/phy-can-transceiver.c @@ -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; |
