Commit 4e9c4fd3e7e022c7a5b8bb7cd06bf914b202cfea
Committed by
David S. Miller
1 parent
1bcdc32cf4
Exists in
master
and in
39 other branches
cnic: Zero out status block and Event Queue indices.
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>
Showing 1 changed file with 5 additions and 0 deletions Side-by-side Diff
drivers/net/cnic.c
... | ... | @@ -1104,6 +1104,8 @@ |
1104 | 1104 | cp->bnx2x_status_blk = cp->status_blk; |
1105 | 1105 | cp->bnx2x_def_status_blk = cp->ethdev->irq_arr[1].status_blk; |
1106 | 1106 | |
1107 | + memset(cp->bnx2x_status_blk, 0, sizeof(struct host_status_block)); | |
1108 | + | |
1107 | 1109 | cp->l2_rx_ring_size = 15; |
1108 | 1110 | |
1109 | 1111 | ret = cnic_alloc_l2_rings(dev, 4); |
... | ... | @@ -4295,6 +4297,9 @@ |
4295 | 4297 | offsetof(struct cstorm_status_block_c, |
4296 | 4298 | index_values[HC_INDEX_C_ISCSI_EQ_CONS]), |
4297 | 4299 | 0); |
4300 | + CNIC_WR(dev, BAR_CSTRORM_INTMEM + | |
4301 | + CSTORM_ISCSI_EQ_CONS_OFFSET(cp->func, 0), 0); | |
4302 | + CNIC_WR16(dev, cp->kcq_io_addr, 0); | |
4298 | 4303 | cnic_free_resc(dev); |
4299 | 4304 | } |
4300 | 4305 |