aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/cnic.c
diff options
context:
space:
mode:
authorMichael Chan <mchan@broadcom.com>2009-12-02 10:15:36 -0500
committerDavid S. Miller <davem@davemloft.net>2009-12-02 22:57:20 -0500
commit8b065b671d3096bfe0dbc9a833cb592f84642436 (patch)
treee0afaaef075833d2e21c7e8b5dd699a63f5362e5 /drivers/net/cnic.c
parentc7596b79feb3d15bea64007254f77233bda811f4 (diff)
cnic: Fix bnx2x ring shutdown.
Need to send a HALT command to the firmware to fully shutdown the bnx2x rings. Signed-off-by: Michael Chan <mchan@broadcom.com> Signed-off-by: Benjamin Li <benli@broadcom.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/cnic.c')
-rw-r--r--drivers/net/cnic.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/drivers/net/cnic.c b/drivers/net/cnic.c
index 10c5cc356305..fb1cadb0e1f5 100644
--- a/drivers/net/cnic.c
+++ b/drivers/net/cnic.c
@@ -4164,8 +4164,15 @@ static void cnic_shutdown_rings(struct cnic_dev *dev)
4164 } else if (test_bit(CNIC_F_BNX2X_CLASS, &dev->flags)) { 4164 } else if (test_bit(CNIC_F_BNX2X_CLASS, &dev->flags)) {
4165 struct cnic_local *cp = dev->cnic_priv; 4165 struct cnic_local *cp = dev->cnic_priv;
4166 u32 cli = BNX2X_ISCSI_CL_ID(CNIC_E1HVN(cp)); 4166 u32 cli = BNX2X_ISCSI_CL_ID(CNIC_E1HVN(cp));
4167 union l5cm_specific_data l5_data;
4167 4168
4168 cnic_ring_ctl(dev, BNX2X_ISCSI_L2_CID, cli, 0); 4169 cnic_ring_ctl(dev, BNX2X_ISCSI_L2_CID, cli, 0);
4170
4171 l5_data.phy_address.lo = cli;
4172 l5_data.phy_address.hi = 0;
4173 cnic_submit_kwqe_16(dev, RAMROD_CMD_ID_ETH_HALT,
4174 BNX2X_ISCSI_L2_CID, ETH_CONNECTION_TYPE, &l5_data);
4175 msleep(10);
4169 } 4176 }
4170} 4177}
4171 4178