summaryrefslogtreecommitdiff
path: root/drivers/net/bnx2.c
diff options
context:
space:
mode:
authorMichael Chan <mchan@broadcom.com>2008-05-03 03:57:26 +0400
committerDavid S. Miller <davem@davemloft.net>2008-05-03 03:57:26 +0400
commit352f76879ebde543817360ce9c18c973d4300f4f (patch)
treece718b6c2ae33f2ba8b70eef7b02503bd07a58b9 /drivers/net/bnx2.c
parent15b169cccff1503a88f12f104e5657c65c53ade7 (diff)
downloadlinux-352f76879ebde543817360ce9c18c973d4300f4f.tar.xz
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>
Diffstat (limited to 'drivers/net/bnx2.c')
-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 0fcea8590777..942ae06843ba 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);