diff options
author | Yaniv Rosner <yanivr@broadcom.com> | 2011-08-02 23:00:00 +0000 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2011-08-03 03:22:18 -0700 |
commit | d2059a061164120a1e44a0ca46fe08044d6d7c2d (patch) | |
tree | 7d44d489cf51765242c328330f08827d50d3f2d0 | |
parent | fd38f73eb936f9d9f28e4f7ff598cc0780e09424 (diff) | |
download | linux-d2059a061164120a1e44a0ca46fe08044d6d7c2d.tar.gz linux-d2059a061164120a1e44a0ca46fe08044d6d7c2d.tar.bz2 linux-d2059a061164120a1e44a0ca46fe08044d6d7c2d.zip |
bnx2x: Fix BCM54618se invalid link indication
After resetting BCM54618se, link partner would still see link since the PHY wasn't put into low-power state.
Signed-off-by: Yaniv Rosner <yanivr@broadcom.com>
Signed-off-by: Eilon Greenstein <eilong@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r-- | drivers/net/bnx2x/bnx2x_link.c | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/drivers/net/bnx2x/bnx2x_link.c b/drivers/net/bnx2x/bnx2x_link.c index cf8b8d13ab6c..5e6f3513862c 100644 --- a/drivers/net/bnx2x/bnx2x_link.c +++ b/drivers/net/bnx2x/bnx2x_link.c @@ -10219,8 +10219,15 @@ static void bnx2x_54618se_link_reset(struct bnx2x_phy *phy, u32 cfg_pin; u8 port; - /* This works with E3 only, no need to check the chip - before determining the port. */ + /* + * In case of no EPIO routed to reset the GPHY, put it + * in low power mode. + */ + bnx2x_cl22_write(bp, phy, MDIO_PMA_REG_CTRL, 0x800); + /* + * This works with E3 only, no need to check the chip + * before determining the port. + */ port = params->port; cfg_pin = (REG_RD(bp, params->shmem_base + offsetof(struct shmem_region, |