aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net
diff options
context:
space:
mode:
authorYaniv Rosner <yanivr@broadcom.com>2011-08-02 19:00:00 -0400
committerDavid S. Miller <davem@davemloft.net>2011-08-03 06:22:18 -0400
commitd2059a061164120a1e44a0ca46fe08044d6d7c2d (patch)
tree7d44d489cf51765242c328330f08827d50d3f2d0 /drivers/net
parentfd38f73eb936f9d9f28e4f7ff598cc0780e09424 (diff)
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>
Diffstat (limited to 'drivers/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,
10219 u32 cfg_pin; 10219 u32 cfg_pin;
10220 u8 port; 10220 u8 port;
10221 10221
10222 /* This works with E3 only, no need to check the chip 10222 /*
10223 before determining the port. */ 10223 * In case of no EPIO routed to reset the GPHY, put it
10224 * in low power mode.
10225 */
10226 bnx2x_cl22_write(bp, phy, MDIO_PMA_REG_CTRL, 0x800);
10227 /*
10228 * This works with E3 only, no need to check the chip
10229 * before determining the port.
10230 */
10224 port = params->port; 10231 port = params->port;
10225 cfg_pin = (REG_RD(bp, params->shmem_base + 10232 cfg_pin = (REG_RD(bp, params->shmem_base +
10226 offsetof(struct shmem_region, 10233 offsetof(struct shmem_region,