From 034436fef58b968092d815998358b822be228091 Mon Sep 17 00:00:00 2001 From: Yaniv Rosner Date: Tue, 18 Jan 2011 04:33:31 +0000 Subject: [PATCH] --- yaml --- r: 231923 b: refs/heads/master c: 1f48353a3ce7297f5150b47e21df5ec212876e5d h: refs/heads/master i: 231921: fb40aeef28e1b143e50c2ee09265a146d376519a 231919: c134d0b925013859b4e3d305fa4406d1d10687f8 v: v3 --- [refs] | 2 +- trunk/drivers/net/bnx2x/bnx2x_link.c | 18 +++++++++++++++++- 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/[refs] b/[refs] index eb5defe32280..a225a0ad4f68 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: b21a3424877a4d5ca91a6d446ed581a2bd03160c +refs/heads/master: 1f48353a3ce7297f5150b47e21df5ec212876e5d diff --git a/trunk/drivers/net/bnx2x/bnx2x_link.c b/trunk/drivers/net/bnx2x/bnx2x_link.c index bdf3c670c8f6..36a88448b245 100644 --- a/trunk/drivers/net/bnx2x/bnx2x_link.c +++ b/trunk/drivers/net/bnx2x/bnx2x_link.c @@ -3166,7 +3166,23 @@ u8 bnx2x_set_led(struct link_params *params, if (!vars->link_up) break; case LED_MODE_ON: - if (SINGLE_MEDIA_DIRECT(params)) { + if (params->phy[EXT_PHY1].type == + PORT_HW_CFG_XGXS_EXT_PHY_TYPE_BCM8727 && + CHIP_IS_E2(bp) && params->num_phys == 2) { + /** + * This is a work-around for E2+8727 Configurations + */ + if (mode == LED_MODE_ON || + speed == SPEED_10000){ + REG_WR(bp, NIG_REG_LED_MODE_P0 + port*4, 0); + REG_WR(bp, NIG_REG_LED_10G_P0 + port*4, 1); + + tmp = EMAC_RD(bp, EMAC_REG_EMAC_LED); + EMAC_WR(bp, EMAC_REG_EMAC_LED, + (tmp | EMAC_LED_OVERRIDE)); + return rc; + } + } else if (SINGLE_MEDIA_DIRECT(params)) { /** * This is a work-around for HW issue found when link * is up in CL73