Browse Source

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>
Michael Chan 15 years ago
parent
commit
1bcdc32cf4
1 changed files with 6 additions and 0 deletions
  1. 6 0
      drivers/net/cnic.c

+ 6 - 0
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);
 	}
 }