Commit 5a0e2f26 authored by David S. Miller's avatar David S. Miller

Merge branch 'bnxt_en-fixes'

Michael Chan says:

====================
bnxt_en: Phy related fixes.

3 small patches to fix PHY related code.
====================
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parents 8d2c3ab4 ba41d46f
...@@ -4554,20 +4554,18 @@ static int bnxt_update_phy_setting(struct bnxt *bp) ...@@ -4554,20 +4554,18 @@ static int bnxt_update_phy_setting(struct bnxt *bp)
if (!(link_info->autoneg & BNXT_AUTONEG_FLOW_CTRL) && if (!(link_info->autoneg & BNXT_AUTONEG_FLOW_CTRL) &&
link_info->force_pause_setting != link_info->req_flow_ctrl) link_info->force_pause_setting != link_info->req_flow_ctrl)
update_pause = true; update_pause = true;
if (link_info->req_duplex != link_info->duplex_setting)
update_link = true;
if (!(link_info->autoneg & BNXT_AUTONEG_SPEED)) { if (!(link_info->autoneg & BNXT_AUTONEG_SPEED)) {
if (BNXT_AUTO_MODE(link_info->auto_mode)) if (BNXT_AUTO_MODE(link_info->auto_mode))
update_link = true; update_link = true;
if (link_info->req_link_speed != link_info->force_link_speed) if (link_info->req_link_speed != link_info->force_link_speed)
update_link = true; update_link = true;
if (link_info->req_duplex != link_info->duplex_setting)
update_link = true;
} else { } else {
if (link_info->auto_mode == BNXT_LINK_AUTO_NONE) if (link_info->auto_mode == BNXT_LINK_AUTO_NONE)
update_link = true; update_link = true;
if (link_info->advertising != link_info->auto_link_speeds) if (link_info->advertising != link_info->auto_link_speeds)
update_link = true; update_link = true;
if (link_info->req_link_speed != link_info->auto_link_speed)
update_link = true;
} }
if (update_link) if (update_link)
...@@ -4644,7 +4642,7 @@ static int __bnxt_open_nic(struct bnxt *bp, bool irq_re_init, bool link_re_init) ...@@ -4644,7 +4642,7 @@ static int __bnxt_open_nic(struct bnxt *bp, bool irq_re_init, bool link_re_init)
if (link_re_init) { if (link_re_init) {
rc = bnxt_update_phy_setting(bp); rc = bnxt_update_phy_setting(bp);
if (rc) if (rc)
goto open_err; netdev_warn(bp->dev, "failed to update phy settings\n");
} }
if (irq_re_init) { if (irq_re_init) {
...@@ -4662,6 +4660,7 @@ static int __bnxt_open_nic(struct bnxt *bp, bool irq_re_init, bool link_re_init) ...@@ -4662,6 +4660,7 @@ static int __bnxt_open_nic(struct bnxt *bp, bool irq_re_init, bool link_re_init)
/* Enable TX queues */ /* Enable TX queues */
bnxt_tx_enable(bp); bnxt_tx_enable(bp);
mod_timer(&bp->timer, jiffies + bp->current_interval); mod_timer(&bp->timer, jiffies + bp->current_interval);
bnxt_update_link(bp, true);
return 0; return 0;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment