diff options
author | Rajesh Borundia <Rajesh.Borundia@qlogic.com> | 2011-04-01 18:28:31 +0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2011-04-06 23:47:13 +0400 |
commit | b56421d0b7527f8ecea3de030cf508468fdc9ba1 (patch) | |
tree | ad983757c4a7517c91cdeb30e827ad364dd3ce33 /drivers/net/qlcnic/qlcnic_hw.c | |
parent | f8d54811cb125094769704722e4eda6610339b92 (diff) | |
download | linux-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.c | 6 |
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); |