| From 30f425544ea21cbb481513eacba00dc82ae5784d Mon Sep 17 00:00:00 2001 |
| From: Doug Berger <opendmb@gmail.com> |
| Date: Wed, 16 Oct 2019 16:06:29 -0700 |
| Subject: [PATCH] net: bcmgenet: don't set phydev->link from MAC |
| |
| commit 7de48402faa32298c3551ea32c76ccb4f9d3025d upstream. |
| |
| When commit 28b2e0d2cd13 ("net: phy: remove parameter new_link from |
| phy_mac_interrupt()") removed the new_link parameter it set the |
| phydev->link state from the MAC before invoking phy_mac_interrupt(). |
| |
| However, once commit 88d6272acaaa ("net: phy: avoid unneeded MDIO |
| reads in genphy_read_status") was added this initialization prevents |
| the proper determination of the connection parameters by the function |
| genphy_read_status(). |
| |
| This commit removes that initialization to restore the proper |
| functionality. |
| |
| Fixes: 88d6272acaaa ("net: phy: avoid unneeded MDIO reads in genphy_read_status") |
| Signed-off-by: Doug Berger <opendmb@gmail.com> |
| Acked-by: Florian Fainelli <f.fainelli@gmail.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> |
| |
| diff --git a/drivers/net/ethernet/broadcom/genet/bcmgenet.c b/drivers/net/ethernet/broadcom/genet/bcmgenet.c |
| index 2369b4bd63e3..a87237750a0a 100644 |
| --- a/drivers/net/ethernet/broadcom/genet/bcmgenet.c |
| +++ b/drivers/net/ethernet/broadcom/genet/bcmgenet.c |
| @@ -2616,10 +2616,8 @@ static void bcmgenet_irq_task(struct work_struct *work) |
| spin_unlock_irq(&priv->lock); |
| |
| /* Link UP/DOWN event */ |
| - if (status & UMAC_IRQ_LINK_EVENT) { |
| - priv->dev->phydev->link = !!(status & UMAC_IRQ_LINK_UP); |
| + if (status & UMAC_IRQ_LINK_EVENT) |
| phy_mac_interrupt(priv->dev->phydev); |
| - } |
| } |
| |
| /* bcmgenet_isr1: handle Rx and Tx priority queues */ |
| -- |
| 2.7.4 |
| |