Skip to content

Commit 08300ad

Browse files
Sneh Shahdavem330
authored andcommitted
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: aa571b6 ("net: stmmac: add new switch to struct plat_stmmacenet_data") Tested-by: Andrew Halaney <[email protected]> # sa8775p-ride Signed-off-by: Sneh Shah <[email protected]> Reviewed-by: Simon Horman <[email protected]> Signed-off-by: David S. Miller <[email protected]>
1 parent 68d27ba commit 08300ad

File tree

1 file changed

+6
-4
lines changed

1 file changed

+6
-4
lines changed

drivers/net/ethernet/stmicro/stmmac/stmmac_ethtool.c

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -321,8 +321,9 @@ static int stmmac_ethtool_get_link_ksettings(struct net_device *dev,
321321
{
322322
struct stmmac_priv *priv = netdev_priv(dev);
323323

324-
if (priv->hw->pcs & STMMAC_PCS_RGMII ||
325-
priv->hw->pcs & STMMAC_PCS_SGMII) {
324+
if (!(priv->plat->flags & STMMAC_FLAG_HAS_INTEGRATED_PCS) &&
325+
(priv->hw->pcs & STMMAC_PCS_RGMII ||
326+
priv->hw->pcs & STMMAC_PCS_SGMII)) {
326327
struct rgmii_adv adv;
327328
u32 supported, advertising, lp_advertising;
328329

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

410-
if (priv->hw->pcs & STMMAC_PCS_RGMII ||
411-
priv->hw->pcs & STMMAC_PCS_SGMII) {
411+
if (!(priv->plat->flags & STMMAC_FLAG_HAS_INTEGRATED_PCS) &&
412+
(priv->hw->pcs & STMMAC_PCS_RGMII ||
413+
priv->hw->pcs & STMMAC_PCS_SGMII)) {
412414
/* Only support ANE */
413415
if (cmd->base.autoneg != AUTONEG_ENABLE)
414416
return -EINVAL;

0 commit comments

Comments
 (0)