[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <1455324336-3884-1-git-send-email-drivshin.allworx@gmail.com>
Date: Fri, 12 Feb 2016 19:45:36 -0500
From: "David Rivshin (Allworx)" <drivshin.allworx@...il.com>
To: netdev@...r.kernel.org
Cc: linux-arm-kernel@...ts.infradead.org, linux-omap@...r.kernel.org,
David Miller <davem@...emloft.net>,
Mugunthan V N <mugunthanvnm@...com>,
Nicolas Chauvet <kwizart@...il.com>
Subject: [PATCH] drivers: net: cpsw-phy-sel: add dev_warn() for unsupported PHY mode
From: David Rivshin <drivshin@...worx.com>
The cpsw-phy-sel driver supports only MII, RMII, and RGMII PHY modes,
and silently handled any other values as if MII was specified. In a
case where the PHY mode was incorrectly specified, or a bug elsewhere,
there would be no indication of a problem. If MII was the correct mode,
then this will go unnoticed, otherwise the symptom will be a failure
to transmit/receive data over the RMII/RGMII link.
Add a dev_warn() to make this condition obvious and provide a
breadcrumb to follow.
Cc: Mugunthan V N <mugunthanvnm@...com>
Signed-off-by: David Rivshin <drivshin@...worx.com>
---
Dave,
I'm not sure if you'd consider this net or net-next material, but it will
apply cleanly to either. Indeed, if you want it for -stable, it applies back
as far as 3.18.
drivers/net/ethernet/ti/cpsw-phy-sel.c | 12 ++++++++++--
1 file changed, 10 insertions(+), 2 deletions(-)
diff --git a/drivers/net/ethernet/ti/cpsw-phy-sel.c b/drivers/net/ethernet/ti/cpsw-phy-sel.c
index e9cc61e..c3e85ac 100644
--- a/drivers/net/ethernet/ti/cpsw-phy-sel.c
+++ b/drivers/net/ethernet/ti/cpsw-phy-sel.c
@@ -63,8 +63,12 @@ static void cpsw_gmii_sel_am3352(struct cpsw_phy_sel_priv *priv,
mode = AM33XX_GMII_SEL_MODE_RGMII;
break;
- case PHY_INTERFACE_MODE_MII:
default:
+ dev_warn(priv->dev,
+ "Unsupported PHY mode: \"%s\". Defaulting to MII.\n",
+ phy_modes(phy_mode));
+ /* fallthrough */
+ case PHY_INTERFACE_MODE_MII:
mode = AM33XX_GMII_SEL_MODE_MII;
break;
};
@@ -106,8 +110,12 @@ static void cpsw_gmii_sel_dra7xx(struct cpsw_phy_sel_priv *priv,
mode = AM33XX_GMII_SEL_MODE_RGMII;
break;
- case PHY_INTERFACE_MODE_MII:
default:
+ dev_warn(priv->dev,
+ "Unsupported PHY mode: \"%s\". Defaulting to MII.\n",
+ phy_modes(phy_mode));
+ /* fallthrough */
+ case PHY_INTERFACE_MODE_MII:
mode = AM33XX_GMII_SEL_MODE_MII;
break;
};
--
2.5.0
Powered by blists - more mailing lists