aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/qlcnic/qlcnic_hw.c
diff options
context:
space:
mode:
authorRajesh Borundia <Rajesh.Borundia@qlogic.com>2011-04-01 14:28:31 +0000
committerDavid S. Miller <davem@davemloft.net>2011-04-06 12:47:13 -0700
commitb56421d0b7527f8ecea3de030cf508468fdc9ba1 (patch)
treead983757c4a7517c91cdeb30e827ad364dd3ce33 /drivers/net/qlcnic/qlcnic_hw.c
parentqlcnic: Use flt method to determine flash fw region (diff)
downloadlinux-dev-b56421d0b7527f8ecea3de030cf508468fdc9ba1.tar.xz
linux-dev-b56421d0b7527f8ecea3de030cf508468fdc9ba1.zip
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 '')
-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);