diff options
author | Michael Chan <mchan@broadcom.com> | 2009-12-02 10:15:36 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2009-12-02 22:57:20 -0500 |
commit | 8b065b671d3096bfe0dbc9a833cb592f84642436 (patch) | |
tree | e0afaaef075833d2e21c7e8b5dd699a63f5362e5 /drivers/net/cnic.c | |
parent | c7596b79feb3d15bea64007254f77233bda811f4 (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.c | 7 |
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 | ||