cnic: Send delete command when shutting down iSCSI ring.
authorMichael Chan <mchan@broadcom.com>
Thu, 10 Dec 2009 15:40:57 +0000 (15:40 +0000)
committerDavid S. Miller <davem@davemloft.net>
Fri, 11 Dec 2009 23:07:55 +0000 (15:07 -0800)
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>
drivers/net/cnic.c

index d4c6e7fcff53a1c1901a81263da4404c286ba9ce..a2c33289326a7fafceb4b249120ef868dc16c362 100644 (file)
@@ -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);
        }
 }