From 8b065b671d3096bfe0dbc9a833cb592f84642436 Mon Sep 17 00:00:00 2001 From: Michael Chan Date: Wed, 2 Dec 2009 15:15:36 +0000 Subject: 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 Signed-off-by: Benjamin Li Signed-off-by: David S. Miller --- drivers/net/cnic.c | 7 +++++++ 1 file changed, 7 insertions(+) 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) } else if (test_bit(CNIC_F_BNX2X_CLASS, &dev->flags)) { struct cnic_local *cp = dev->cnic_priv; u32 cli = BNX2X_ISCSI_CL_ID(CNIC_E1HVN(cp)); + union l5cm_specific_data l5_data; cnic_ring_ctl(dev, BNX2X_ISCSI_L2_CID, cli, 0); + + l5_data.phy_address.lo = cli; + l5_data.phy_address.hi = 0; + cnic_submit_kwqe_16(dev, RAMROD_CMD_ID_ETH_HALT, + BNX2X_ISCSI_L2_CID, ETH_CONNECTION_TYPE, &l5_data); + msleep(10); } } -- cgit v1.2.3-59-g8ed1b