summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Chan <mchan@broadcom.com>2008-05-02 16:57:26 -0700
committerDavid S. Miller <davem@davemloft.net>2008-05-02 16:57:26 -0700
commit352f76879ebde543817360ce9c18c973d4300f4f (patch)
treece718b6c2ae33f2ba8b70eef7b02503bd07a58b9
parent15b169cccff1503a88f12f104e5657c65c53ade7 (diff)
downloadkernel-crypto-352f76879ebde543817360ce9c18c973d4300f4f.tar.gz
kernel-crypto-352f76879ebde543817360ce9c18c973d4300f4f.tar.xz
kernel-crypto-352f76879ebde543817360ce9c18c973d4300f4f.zip
bnx2: Zero out context memory for 5709.
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>
-rw-r--r--drivers/net/bnx2.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/net/bnx2.c b/drivers/net/bnx2.c
index 0fcea859077..942ae06843b 100644
--- a/drivers/net/bnx2.c
+++ b/drivers/net/bnx2.c
@@ -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);