mirror of
https://github.com/torvalds/linux.git
synced 2026-07-27 09:36:22 +02:00
phy: lynx-28g: avoid returning NULL in of_xlate() function
Sashiko points out that _of_phy_get() does not support a NULL returned output from phy_provider->of_xlate(), just a valid pointer or a pointer-encoded error. When lynx_28g_probe() -> for_each_available_child_of_node() skips over lanes which have OF nodes with status = "disabled", the priv->lane[idx].phy pointer will remain NULL. This NULL pointer may be propagated to lynx_28g_xlate() if the device tree contains a phandle to the disabled lane AND fw_devlink did not block probing for the consumer. In that case, the PHY core will crash when trying to dereference the NULL phy pointer. Signed-off-by: Vladimir Oltean <vladimir.oltean@nxp.com> Link: https://patch.msgid.link/20260610151952.2141019-2-vladimir.oltean@nxp.com Signed-off-by: Vinod Koul <vkoul@kernel.org>
This commit is contained in:
parent
fdd2913a4e
commit
493f8fc57b
|
|
@ -1435,7 +1435,7 @@ static struct phy *lynx_28g_xlate(struct device *dev,
|
|||
idx < priv->info->first_lane))
|
||||
return ERR_PTR(-EINVAL);
|
||||
|
||||
return priv->lane[idx].phy;
|
||||
return priv->lane[idx].phy ?: ERR_PTR(-ENODEV);
|
||||
}
|
||||
|
||||
static int lynx_28g_probe_lane(struct lynx_28g_priv *priv, int id,
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user