diff options
author | Michael Chan <mchan@broadcom.com> | 2008-05-02 19:57:26 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2008-05-02 19:57:26 -0400 |
commit | 352f76879ebde543817360ce9c18c973d4300f4f (patch) | |
tree | ce718b6c2ae33f2ba8b70eef7b02503bd07a58b9 /drivers/net | |
parent | 15b169cccff1503a88f12f104e5657c65c53ade7 (diff) |
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')
-rw-r--r-- | drivers/net/bnx2.c | 5 |
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) | |||
2222 | for (i = 0; i < bp->ctx_pages; i++) { | 2222 | for (i = 0; i < bp->ctx_pages; i++) { |
2223 | int j; | 2223 | int j; |
2224 | 2224 | ||
2225 | if (bp->ctx_blk[i]) | ||
2226 | memset(bp->ctx_blk[i], 0, BCM_PAGE_SIZE); | ||
2227 | else | ||
2228 | return -ENOMEM; | ||
2229 | |||
2225 | REG_WR(bp, BNX2_CTX_HOST_PAGE_TBL_DATA0, | 2230 | REG_WR(bp, BNX2_CTX_HOST_PAGE_TBL_DATA0, |
2226 | (bp->ctx_blk_mapping[i] & 0xffffffff) | | 2231 | (bp->ctx_blk_mapping[i] & 0xffffffff) | |
2227 | BNX2_CTX_HOST_PAGE_TBL_DATA0_VALID); | 2232 | BNX2_CTX_HOST_PAGE_TBL_DATA0_VALID); |