]> err.no Git - linux-2.6/commitdiff
bnx2: Zero out context memory for 5709.
authorMichael Chan <mchan@broadcom.com>
Fri, 2 May 2008 23:57:26 +0000 (16:57 -0700)
committerDavid S. Miller <davem@davemloft.net>
Fri, 2 May 2008 23:57:26 +0000 (16:57 -0700)
We should zero out the context memory for 5709 before each reset.  When
we resume after suspend for example, the memory may not be zero and the
chip may not function correctly.

Signed-off-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: Benjamin Li <benli@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/bnx2.c

index 0fcea85907779a908b64dcc01540f7bb84efe0a7..942ae06843ba43b4bb2ec29fe414af41daac65cd 100644 (file)
@@ -2222,6 +2222,11 @@ bnx2_init_5709_context(struct bnx2 *bp)
        for (i = 0; i < bp->ctx_pages; i++) {
                int j;
 
+               if (bp->ctx_blk[i])
+                       memset(bp->ctx_blk[i], 0, BCM_PAGE_SIZE);
+               else
+                       return -ENOMEM;
+
                REG_WR(bp, BNX2_CTX_HOST_PAGE_TBL_DATA0,
                       (bp->ctx_blk_mapping[i] & 0xffffffff) |
                       BNX2_CTX_HOST_PAGE_TBL_DATA0_VALID);