diff options
Diffstat (limited to 'drivers/net/qlcnic')
-rw-r--r-- | drivers/net/qlcnic/qlcnic_ethtool.c | 4 | ||||
-rw-r--r-- | drivers/net/qlcnic/qlcnic_hw.c | 5 | ||||
-rw-r--r-- | drivers/net/qlcnic/qlcnic_main.c | 2 |
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; |