mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-15 08:14:15 +08:00
bnx2x: Clear latch indication on link reset
When using latch indication for link change notification, need to clear it when port is unloaded, otherwise it might generate false indication on next load. 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>
This commit is contained in:
parent
6a71bbe04c
commit
cf1d972cb6
@ -6938,7 +6938,7 @@ u8 bnx2x_link_reset(struct link_params *params, struct link_vars *vars,
|
||||
u8 reset_ext_phy)
|
||||
{
|
||||
struct bnx2x *bp = params->bp;
|
||||
u8 phy_index, port = params->port;
|
||||
u8 phy_index, port = params->port, clear_latch_ind = 0;
|
||||
DP(NETIF_MSG_LINK, "Resetting the link of port %d\n", port);
|
||||
/* disable attentions */
|
||||
vars->link_status = 0;
|
||||
@ -6976,9 +6976,18 @@ u8 bnx2x_link_reset(struct link_params *params, struct link_vars *vars,
|
||||
params->phy[phy_index].link_reset(
|
||||
¶ms->phy[phy_index],
|
||||
params);
|
||||
if (params->phy[phy_index].flags &
|
||||
FLAGS_REARM_LATCH_SIGNAL)
|
||||
clear_latch_ind = 1;
|
||||
}
|
||||
}
|
||||
|
||||
if (clear_latch_ind) {
|
||||
/* Clear latching indication */
|
||||
bnx2x_rearm_latch_signal(bp, port, 0);
|
||||
bnx2x_bits_dis(bp, NIG_REG_LATCH_BC_0 + port*4,
|
||||
1 << NIG_LATCH_BC_ENABLE_MI_INT);
|
||||
}
|
||||
if (params->phy[INT_PHY].link_reset)
|
||||
params->phy[INT_PHY].link_reset(
|
||||
¶ms->phy[INT_PHY], params);
|
||||
|
Loading…
Reference in New Issue
Block a user