summaryrefslogtreecommitdiffstats
path: root/drivers/net/ethernet/freescale
diff options
context:
space:
mode:
authorMadalin Bucur <madalin.bucur@nxp.com>2016-06-30 15:48:05 +0200
committerMadalin Bucur <madalin.bucur@nxp.com>2016-10-04 08:26:09 +0200
commit604104fc549a32ae928435a48de6761af13836ea (patch)
treed5afcb8349ff2fa9488a49b80c8d13a0672ee703 /drivers/net/ethernet/freescale
parentfsl/fman: check pcsphy pointer before use (diff)
downloadlinux-604104fc549a32ae928435a48de6761af13836ea.tar.xz
linux-604104fc549a32ae928435a48de6761af13836ea.zip
fsl/fman: check of_get_phy_mode() return value
For unknown compatibles avoid crashing and default to SGMII. Signed-off-by: Madalin Bucur <madalin.bucur@nxp.com>
Diffstat (limited to 'drivers/net/ethernet/freescale')
-rw-r--r--drivers/net/ethernet/freescale/fman/mac.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/drivers/net/ethernet/freescale/fman/mac.c b/drivers/net/ethernet/freescale/fman/mac.c
index e4378c2c1e6a..8fe6b3e253fa 100644
--- a/drivers/net/ethernet/freescale/fman/mac.c
+++ b/drivers/net/ethernet/freescale/fman/mac.c
@@ -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;