summaryrefslogtreecommitdiffstats
path: root/drivers/net/bnx2.c
diff options
context:
space:
mode:
authorMichael Chan <mchan@broadcom.com>2009-08-21 18:20:43 +0200
committerDavid S. Miller <davem@davemloft.net>2009-08-23 02:48:41 +0200
commit155d5561f570c5b3af7a178670061927d89209fb (patch)
tree8d495b81eebeb387f8decd6cf499cc93c5383ea3 /drivers/net/bnx2.c
parentMerge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linvil... (diff)
downloadlinux-155d5561f570c5b3af7a178670061927d89209fb.tar.xz
linux-155d5561f570c5b3af7a178670061927d89209fb.zip
bnx2: Zero out status block before chip reset.
In case IRQs are shared, we will not mistakenly start processing the ring based on old status block indices. Signed-off-by: Michael Chan <mchan@broadcom.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/bnx2.c')
-rw-r--r--drivers/net/bnx2.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/net/bnx2.c b/drivers/net/bnx2.c
index 756d4b4f0a9f..e75b6e94f652 100644
--- a/drivers/net/bnx2.c
+++ b/drivers/net/bnx2.c
@@ -4858,6 +4858,7 @@ bnx2_init_chip(struct bnx2 *bp)
bnx2_reg_wr_ind(bp, BNX2_RBUF_CONFIG2, BNX2_RBUF_CONFIG2_VAL(mtu));
bnx2_reg_wr_ind(bp, BNX2_RBUF_CONFIG3, BNX2_RBUF_CONFIG3_VAL(mtu));
+ memset(bp->bnx2_napi[0].status_blk.msi, 0, bp->status_stats_size);
for (i = 0; i < BNX2_MAX_MSIX_VEC; i++)
bp->bnx2_napi[i].last_status_idx = 0;