Commit 08300ada authored by Sneh Shah's avatar Sneh Shah Committed by David S. Miller
Browse files

net: stmmac: Fix ethool link settings ops for integrated PCS



Currently get/set_link_ksettings ethtool ops are dependent on PCS.
When PCS is integrated, it will not have separate link config.
Bypass configuring and checking PCS for integrated PCS.

Fixes: aa571b62 ("net: stmmac: add new switch to struct plat_stmmacenet_data")
Tested-by: Andrew Halaney <ahalaney@redhat.com> # sa8775p-ride
Signed-off-by: default avatarSneh Shah <quic_snehshah@quicinc.com>
Reviewed-by: default avatarSimon Horman <horms@kernel.org>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 68d27bad
Loading
Loading
Loading
Loading
+6 −4
Original line number Diff line number Diff line
@@ -321,8 +321,9 @@ static int stmmac_ethtool_get_link_ksettings(struct net_device *dev,
{
	struct stmmac_priv *priv = netdev_priv(dev);

	if (priv->hw->pcs & STMMAC_PCS_RGMII ||
	    priv->hw->pcs & STMMAC_PCS_SGMII) {
	if (!(priv->plat->flags & STMMAC_FLAG_HAS_INTEGRATED_PCS) &&
	    (priv->hw->pcs & STMMAC_PCS_RGMII ||
	     priv->hw->pcs & STMMAC_PCS_SGMII)) {
		struct rgmii_adv adv;
		u32 supported, advertising, lp_advertising;

@@ -407,8 +408,9 @@ stmmac_ethtool_set_link_ksettings(struct net_device *dev,
{
	struct stmmac_priv *priv = netdev_priv(dev);

	if (priv->hw->pcs & STMMAC_PCS_RGMII ||
	    priv->hw->pcs & STMMAC_PCS_SGMII) {
	if (!(priv->plat->flags & STMMAC_FLAG_HAS_INTEGRATED_PCS) &&
	    (priv->hw->pcs & STMMAC_PCS_RGMII ||
	     priv->hw->pcs & STMMAC_PCS_SGMII)) {
		/* Only support ANE */
		if (cmd->base.autoneg != AUTONEG_ENABLE)
			return -EINVAL;