summaryrefslogtreecommitdiffstats
path: root/drivers/net/cnic.c
diff options
context:
space:
mode:
authorMichael Chan2009-12-10 16:40:57 +0100
committerDavid S. Miller2009-12-12 00:07:55 +0100
commit1bcdc32cf4d94442eba79599ce8438ea0b8f78b5 (patch)
tree2b4eced89dac9c22cd24be7767318071fc747f70 /drivers/net/cnic.c
parentnet: smc91x: Fix up type mismatch in smc_drv_resume(). (diff)
downloadkernel-qcow2-linux-1bcdc32cf4d94442eba79599ce8438ea0b8f78b5.tar.gz
kernel-qcow2-linux-1bcdc32cf4d94442eba79599ce8438ea0b8f78b5.tar.xz
kernel-qcow2-linux-1bcdc32cf4d94442eba79599ce8438ea0b8f78b5.zip
cnic: Send delete command when shutting down iSCSI ring.
This step is necessary on the bnx2x devices when restarting the iSCSI ring. Without it, the firmware can assert and cause bnx2x to report errors. Signed-off-by: Michael Chan <mchan@broadcom.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/cnic.c')
-rw-r--r--drivers/net/cnic.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/net/cnic.c b/drivers/net/cnic.c
index d4c6e7fcff53..a2c33289326a 100644
--- a/drivers/net/cnic.c
+++ b/drivers/net/cnic.c
@@ -4183,6 +4183,12 @@ static void cnic_shutdown_rings(struct cnic_dev *dev)
cnic_submit_kwqe_16(dev, RAMROD_CMD_ID_ETH_HALT,
BNX2X_ISCSI_L2_CID, ETH_CONNECTION_TYPE, &l5_data);
msleep(10);
+
+ memset(&l5_data, 0, sizeof(l5_data));
+ cnic_submit_kwqe_16(dev, RAMROD_CMD_ID_ETH_CFC_DEL,
+ BNX2X_ISCSI_L2_CID, ETH_CONNECTION_TYPE |
+ (1 << SPE_HDR_COMMON_RAMROD_SHIFT), &l5_data);
+ msleep(10);
}
}