diff options
Diffstat (limited to 'drivers')
| -rw-r--r-- | drivers/net/bnx2x_main.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/drivers/net/bnx2x_main.c b/drivers/net/bnx2x_main.c index 4f1ee1f2968c..701bcc1260c2 100644 --- a/drivers/net/bnx2x_main.c +++ b/drivers/net/bnx2x_main.c | |||
| @@ -2234,9 +2234,7 @@ static void bnx2x_link_attn(struct bnx2x *bp) | |||
| 2234 | /* Make sure that we are synced with the current statistics */ | 2234 | /* Make sure that we are synced with the current statistics */ |
| 2235 | bnx2x_stats_handle(bp, STATS_EVENT_STOP); | 2235 | bnx2x_stats_handle(bp, STATS_EVENT_STOP); |
| 2236 | 2236 | ||
| 2237 | bnx2x_acquire_phy_lock(bp); | ||
| 2238 | bnx2x_link_update(&bp->link_params, &bp->link_vars); | 2237 | bnx2x_link_update(&bp->link_params, &bp->link_vars); |
| 2239 | bnx2x_release_phy_lock(bp); | ||
| 2240 | 2238 | ||
| 2241 | if (bp->link_vars.link_up) { | 2239 | if (bp->link_vars.link_up) { |
| 2242 | 2240 | ||
| @@ -2485,6 +2483,8 @@ static void bnx2x_attn_int_asserted(struct bnx2x *bp, u32 asserted) | |||
| 2485 | if (asserted & ATTN_HARD_WIRED_MASK) { | 2483 | if (asserted & ATTN_HARD_WIRED_MASK) { |
| 2486 | if (asserted & ATTN_NIG_FOR_FUNC) { | 2484 | if (asserted & ATTN_NIG_FOR_FUNC) { |
| 2487 | 2485 | ||
| 2486 | bnx2x_acquire_phy_lock(bp); | ||
| 2487 | |||
| 2488 | /* save nig interrupt mask */ | 2488 | /* save nig interrupt mask */ |
| 2489 | bp->nig_mask = REG_RD(bp, nig_int_mask_addr); | 2489 | bp->nig_mask = REG_RD(bp, nig_int_mask_addr); |
| 2490 | REG_WR(bp, nig_int_mask_addr, 0); | 2490 | REG_WR(bp, nig_int_mask_addr, 0); |
| @@ -2540,8 +2540,10 @@ static void bnx2x_attn_int_asserted(struct bnx2x *bp, u32 asserted) | |||
| 2540 | REG_WR(bp, hc_addr, asserted); | 2540 | REG_WR(bp, hc_addr, asserted); |
| 2541 | 2541 | ||
| 2542 | /* now set back the mask */ | 2542 | /* now set back the mask */ |
| 2543 | if (asserted & ATTN_NIG_FOR_FUNC) | 2543 | if (asserted & ATTN_NIG_FOR_FUNC) { |
| 2544 | REG_WR(bp, nig_int_mask_addr, bp->nig_mask); | 2544 | REG_WR(bp, nig_int_mask_addr, bp->nig_mask); |
| 2545 | bnx2x_release_phy_lock(bp); | ||
| 2546 | } | ||
| 2545 | } | 2547 | } |
| 2546 | 2548 | ||
| 2547 | static inline void bnx2x_attn_int_deasserted0(struct bnx2x *bp, u32 attn) | 2549 | static inline void bnx2x_attn_int_deasserted0(struct bnx2x *bp, u32 attn) |
