lkml.org 
[lkml]   [2013]   [Apr]   [11]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[ 009/171 ] tg3: 5715 does not link up when autoneg off
    3.6.11.2 stable review patch.
    If anyone has any objections, please let me know.

    ------------------

    From: Nithin Sujir <nsujir@broadcom.com>

    [ Upstream commit 7c6cdead7cc9a99650d15497aae47d7472217eb1 ]

    Commit d13ba512cbba7de5d55d7a3b2aae7d83c8921457 ("tg3: Remove
    SPEED_UNKNOWN checks") cleaned up the autoneg advertisement by
    removing some dead code. One effect of this change was that the
    advertisement register would not be updated if autoneg is turned off.

    This exposed a bug on the 5715 device w.r.t linking. The 5715 defaults
    to advertise only 10Mb Full duplex. But with autoneg disabled, it needs
    the configured speed enabled in the advertisement register to link up.

    This patch adds the work around to advertise all speeds on the 5715 when
    autoneg is disabled.

    Reported-by: Marcin Miotk <marcinmiotk81@gmail.com>
    Reviewed-by: Benjamin Li <benli@broadcom.com>
    Signed-off-by: Nithin Nayak Sujir <nsujir@broadcom.com>
    Signed-off-by: Michael Chan <mchan@broadcom.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
    ---
    drivers/net/ethernet/broadcom/tg3.c | 8 ++++++++
    1 file changed, 8 insertions(+)

    diff --git a/drivers/net/ethernet/broadcom/tg3.c b/drivers/net/ethernet/broadcom/tg3.c
    index 3756278..fdb4c52 100644
    --- a/drivers/net/ethernet/broadcom/tg3.c
    +++ b/drivers/net/ethernet/broadcom/tg3.c
    @@ -4055,6 +4055,14 @@ static void tg3_phy_copper_begin(struct tg3 *tp)
    tp->link_config.active_speed = tp->link_config.speed;
    tp->link_config.active_duplex = tp->link_config.duplex;

    + if (GET_ASIC_REV(tp->pci_chip_rev_id) == ASIC_REV_5714) {
    + /* With autoneg disabled, 5715 only links up when the
    + * advertisement register has the configured speed
    + * enabled.
    + */
    + tg3_writephy(tp, MII_ADVERTISE, ADVERTISE_ALL);
    + }
    +
    bmcr = 0;
    switch (tp->link_config.speed) {
    default:
    --
    1.7.10.4



    \
     
     \ /
      Last update: 2013-04-11 23:41    [W:4.020 / U:0.236 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site