summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorYaniv Rosner <yanivr@broadcom.com>2011-08-02 23:00:00 +0000
committerDavid S. Miller <davem@davemloft.net>2011-08-03 03:22:18 -0700
commitd2059a061164120a1e44a0ca46fe08044d6d7c2d (patch)
tree7d44d489cf51765242c328330f08827d50d3f2d0
parentfd38f73eb936f9d9f28e4f7ff598cc0780e09424 (diff)
downloadlinux-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.c11
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,