bnx2x: do not call link update without HW notification
authorYaniv Rosner <yanivr@broadcom.com>
Tue, 14 Jun 2011 01:33:19 +0000 (01:33 +0000)
committerDavid S. Miller <davem@conan.davemloft.net>
Wed, 15 Jun 2011 14:56:14 +0000 (10:56 -0400)
Signed-off-by: Yaniv Rosner <yanivr@broadcom.com>
Signed-off-by: Vladislav Zolotarov <vladz@broadcom.com>
Signed-off-by: Eilon Greenstein <eilong@broadcom.com>
Signed-off-by: David S. Miller <davem@conan.davemloft.net>
drivers/net/bnx2x/bnx2x_main.c

index bc516bbcd9fd985a413cc6756dab6c02e4a264ec..2b4b376a69fb737af2ca72b46e345e6875f7720f 100644 (file)
@@ -2847,9 +2847,15 @@ static void bnx2x_attn_int_asserted(struct bnx2x *bp, u32 asserted)
 
                        /* save nig interrupt mask */
                        nig_mask = REG_RD(bp, nig_int_mask_addr);
-                       REG_WR(bp, nig_int_mask_addr, 0);
 
-                       bnx2x_link_attn(bp);
+                       /* If nig_mask is not set, no need to call the update
+                        * function.
+                        */
+                       if (nig_mask) {
+                               REG_WR(bp, nig_int_mask_addr, 0);
+
+                               bnx2x_link_attn(bp);
+                       }
 
                        /* handle unicore attn? */
                }