Skip to content

Commit

Permalink
cnic: Zero out status block and Event Queue indices.
Browse files Browse the repository at this point in the history
To prevent stale indices from causing spurious events when restarting the
bnx2x devices.

Signed-off-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
  • Loading branch information
Michael Chan authored and David S. Miller committed Dec 11, 2009
1 parent 1bcdc32 commit 4e9c4fd
Showing 1 changed file with 5 additions and 0 deletions.
5 changes: 5 additions & 0 deletions drivers/net/cnic.c
Original file line number Diff line number Diff line change
Expand Up @@ -1104,6 +1104,8 @@ static int cnic_alloc_bnx2x_resc(struct cnic_dev *dev)
cp->bnx2x_status_blk = cp->status_blk;
cp->bnx2x_def_status_blk = cp->ethdev->irq_arr[1].status_blk;

memset(cp->bnx2x_status_blk, 0, sizeof(struct host_status_block));

cp->l2_rx_ring_size = 15;

ret = cnic_alloc_l2_rings(dev, 4);
Expand Down Expand Up @@ -4295,6 +4297,9 @@ static void cnic_stop_bnx2x_hw(struct cnic_dev *dev)
offsetof(struct cstorm_status_block_c,
index_values[HC_INDEX_C_ISCSI_EQ_CONS]),
0);
CNIC_WR(dev, BAR_CSTRORM_INTMEM +
CSTORM_ISCSI_EQ_CONS_OFFSET(cp->func, 0), 0);
CNIC_WR16(dev, cp->kcq_io_addr, 0);
cnic_free_resc(dev);
}

Expand Down

0 comments on commit 4e9c4fd

Please sign in to comment.