Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 604104fc authored by Madalin Bucur's avatar Madalin Bucur
Browse files

fsl/fman: check of_get_phy_mode() return value



For unknown compatibles avoid crashing and default to SGMII.

Signed-off-by: default avatarMadalin Bucur <madalin.bucur@nxp.com>
parent 47256192
Loading
Loading
Loading
Loading
+6 −4
Original line number Diff line number Diff line
@@ -663,6 +663,7 @@ static int mac_probe(struct platform_device *_of_dev)
	const u8		*mac_addr;
	u32			 val;
	u8			fman_id;
	int			phy_if;

	dev = &_of_dev->dev;
	mac_node = dev->of_node;
@@ -842,13 +843,14 @@ static int mac_probe(struct platform_device *_of_dev)
	}

	/* Get the PHY connection type */
	priv->phy_if = of_get_phy_mode(mac_node);
	if (priv->phy_if < 0) {
	phy_if = of_get_phy_mode(mac_node);
	if (phy_if < 0) {
		dev_warn(dev,
			 "of_get_phy_mode() for %s failed. Defaulting to MII\n",
			 "of_get_phy_mode() for %s failed. Defaulting to SGMII\n",
			 mac_node->full_name);
		priv->phy_if = PHY_INTERFACE_MODE_MII;
		phy_if = PHY_INTERFACE_MODE_SGMII;
	}
	priv->phy_if = phy_if;

	priv->speed		= phy2speed[priv->phy_if];
	priv->max_speed		= priv->speed;