aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/qlcnic
diff options
context:
space:
mode:
authorAmit Kumar Salecha <amit.salecha@qlogic.com>2010-10-07 19:46:07 -0400
committerDavid S. Miller <davem@davemloft.net>2010-10-08 16:59:09 -0400
commita2152d096e0cd8593e883f72e875195ea0e89bb7 (patch)
tree218bfa4fcf6accd3b62c2972ecd7127de07b3de6 /drivers/net/qlcnic
parentb8c17620458b82fd868f4813e1ff18368a832b7c (diff)
qlcnic: remove private LRO flag
LRO was not getting enable after interface down/up. Signed-off-by: Amit Kumar Salecha <amit.salecha@qlogic.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/qlcnic')
-rw-r--r--drivers/net/qlcnic/qlcnic_ethtool.c4
-rw-r--r--drivers/net/qlcnic/qlcnic_hw.c5
-rw-r--r--drivers/net/qlcnic/qlcnic_main.c2
3 files changed, 2 insertions, 9 deletions
diff --git a/drivers/net/qlcnic/qlcnic_ethtool.c b/drivers/net/qlcnic/qlcnic_ethtool.c
index 018130193b5b..e07adb1dec4f 100644
--- a/drivers/net/qlcnic/qlcnic_ethtool.c
+++ b/drivers/net/qlcnic/qlcnic_ethtool.c
@@ -865,7 +865,7 @@ static int qlcnic_set_rx_csum(struct net_device *dev, u32 data)
865 return 0; 865 return 0;
866 } 866 }
867 867
868 if (adapter->flags & QLCNIC_LRO_ENABLED) { 868 if (dev->features & NETIF_F_LRO) {
869 if (qlcnic_config_hw_lro(adapter, QLCNIC_LRO_DISABLED)) 869 if (qlcnic_config_hw_lro(adapter, QLCNIC_LRO_DISABLED))
870 return -EIO; 870 return -EIO;
871 871
@@ -1062,7 +1062,7 @@ static int qlcnic_set_flags(struct net_device *netdev, u32 data)
1062 return -EINVAL; 1062 return -EINVAL;
1063 } 1063 }
1064 1064
1065 if ((data & ETH_FLAG_LRO) && (adapter->flags & QLCNIC_LRO_ENABLED)) 1065 if ((data & ETH_FLAG_LRO) && (netdev->features & NETIF_F_LRO))
1066 return 0; 1066 return 0;
1067 1067
1068 if (data & ETH_FLAG_LRO) { 1068 if (data & ETH_FLAG_LRO) {
diff --git a/drivers/net/qlcnic/qlcnic_hw.c b/drivers/net/qlcnic/qlcnic_hw.c
index 9d3e16dbd043..7f1f9b4ca0ff 100644
--- a/drivers/net/qlcnic/qlcnic_hw.c
+++ b/drivers/net/qlcnic/qlcnic_hw.c
@@ -582,9 +582,6 @@ int qlcnic_config_hw_lro(struct qlcnic_adapter *adapter, int enable)
582 u64 word; 582 u64 word;
583 int rv; 583 int rv;
584 584
585 if ((adapter->flags & QLCNIC_LRO_ENABLED) == enable)
586 return 0;
587
588 memset(&req, 0, sizeof(struct qlcnic_nic_req)); 585 memset(&req, 0, sizeof(struct qlcnic_nic_req));
589 586
590 req.qhdr = cpu_to_le64(QLCNIC_HOST_REQUEST << 23); 587 req.qhdr = cpu_to_le64(QLCNIC_HOST_REQUEST << 23);
@@ -599,8 +596,6 @@ int qlcnic_config_hw_lro(struct qlcnic_adapter *adapter, int enable)
599 dev_err(&adapter->netdev->dev, 596 dev_err(&adapter->netdev->dev,
600 "Could not send configure hw lro request\n"); 597 "Could not send configure hw lro request\n");
601 598
602 adapter->flags ^= QLCNIC_LRO_ENABLED;
603
604 return rv; 599 return rv;
605} 600}
606 601
diff --git a/drivers/net/qlcnic/qlcnic_main.c b/drivers/net/qlcnic/qlcnic_main.c
index 9b0acfb23e4c..e3c1b80e00b1 100644
--- a/drivers/net/qlcnic/qlcnic_main.c
+++ b/drivers/net/qlcnic/qlcnic_main.c
@@ -657,8 +657,6 @@ qlcnic_check_options(struct qlcnic_adapter *adapter)
657 dev_info(&pdev->dev, "firmware v%d.%d.%d\n", 657 dev_info(&pdev->dev, "firmware v%d.%d.%d\n",
658 fw_major, fw_minor, fw_build); 658 fw_major, fw_minor, fw_build);
659 659
660 adapter->flags &= ~QLCNIC_LRO_ENABLED;
661
662 if (adapter->ahw.port_type == QLCNIC_XGBE) { 660 if (adapter->ahw.port_type == QLCNIC_XGBE) {
663 adapter->num_rxd = DEFAULT_RCV_DESCRIPTORS_10G; 661 adapter->num_rxd = DEFAULT_RCV_DESCRIPTORS_10G;
664 adapter->num_jumbo_rxd = MAX_JUMBO_RCV_DESCRIPTORS_10G; 662 adapter->num_jumbo_rxd = MAX_JUMBO_RCV_DESCRIPTORS_10G;