summaryrefslogtreecommitdiff
path: root/drivers/net/qlcnic/qlcnic_hw.c
diff options
context:
space:
mode:
authorRajesh Borundia <Rajesh.Borundia@qlogic.com>2011-04-01 18:28:31 +0400
committerDavid S. Miller <davem@davemloft.net>2011-04-06 23:47:13 +0400
commitb56421d0b7527f8ecea3de030cf508468fdc9ba1 (patch)
treead983757c4a7517c91cdeb30e827ad364dd3ce33 /drivers/net/qlcnic/qlcnic_hw.c
parentf8d54811cb125094769704722e4eda6610339b92 (diff)
downloadlinux-b56421d0b7527f8ecea3de030cf508468fdc9ba1.tar.xz
qlcnic: Fix LRO disable
o In dev->open LRO was enabled by default, enable it depending upon netdev->features , kernel may have disabled it. o Configure LRO when interface is up. Signed-off-by: Rajesh Borundia <Rajesh.Borundia@qlogic.com> Signed-off-by: Anirban Chakraborty <Anirban.Chakraborty@qlogic.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/qlcnic/qlcnic_hw.c')
-rw-r--r--drivers/net/qlcnic/qlcnic_hw.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/net/qlcnic/qlcnic_hw.c b/drivers/net/qlcnic/qlcnic_hw.c
index 3901be85dcac..498cca92126a 100644
--- a/drivers/net/qlcnic/qlcnic_hw.c
+++ b/drivers/net/qlcnic/qlcnic_hw.c
@@ -566,6 +566,9 @@ int qlcnic_config_hw_lro(struct qlcnic_adapter *adapter, int enable)
u64 word;
int rv;
+ if (!test_bit(__QLCNIC_FW_ATTACHED, &adapter->state))
+ return 0;
+
memset(&req, 0, sizeof(struct qlcnic_nic_req));
req.qhdr = cpu_to_le64(QLCNIC_HOST_REQUEST << 23);
@@ -711,6 +714,9 @@ int qlcnic_send_lro_cleanup(struct qlcnic_adapter *adapter)
u64 word;
int rv;
+ if (!test_bit(__QLCNIC_FW_ATTACHED, &adapter->state))
+ return 0;
+
memset(&req, 0, sizeof(struct qlcnic_nic_req));
req.qhdr = cpu_to_le64(QLCNIC_HOST_REQUEST << 23);