aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/bna/bnad.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/bna/bnad.c')
-rw-r--r--drivers/net/bna/bnad.c22
1 files changed, 9 insertions, 13 deletions
diff --git a/drivers/net/bna/bnad.c b/drivers/net/bna/bnad.c
index 9f356d5d0f33..b9f253470da2 100644
--- a/drivers/net/bna/bnad.c
+++ b/drivers/net/bna/bnad.c
@@ -501,7 +501,7 @@ bnad_poll_cq(struct bnad *bnad, struct bna_ccb *ccb, int budget)
501 501
502 skb_put(skb, ntohs(cmpl->length)); 502 skb_put(skb, ntohs(cmpl->length));
503 if (likely 503 if (likely
504 (bnad->rx_csum && 504 ((bnad->netdev->features & NETIF_F_RXCSUM) &&
505 (((flags & BNA_CQ_EF_IPV4) && 505 (((flags & BNA_CQ_EF_IPV4) &&
506 (flags & BNA_CQ_EF_L3_CKSUM_OK)) || 506 (flags & BNA_CQ_EF_L3_CKSUM_OK)) ||
507 (flags & BNA_CQ_EF_IPV6)) && 507 (flags & BNA_CQ_EF_IPV6)) &&
@@ -2903,23 +2903,20 @@ bnad_netdev_init(struct bnad *bnad, bool using_dac)
2903{ 2903{
2904 struct net_device *netdev = bnad->netdev; 2904 struct net_device *netdev = bnad->netdev;
2905 2905
2906 netdev->features |= NETIF_F_IPV6_CSUM; 2906 netdev->hw_features = NETIF_F_SG | NETIF_F_RXCSUM |
2907 netdev->features |= NETIF_F_TSO; 2907 NETIF_F_IP_CSUM | NETIF_F_IPV6_CSUM |
2908 netdev->features |= NETIF_F_TSO6; 2908 NETIF_F_TSO | NETIF_F_TSO6 | NETIF_F_HW_VLAN_TX;
2909 2909
2910 netdev->features |= NETIF_F_GRO; 2910 netdev->vlan_features = NETIF_F_SG | NETIF_F_HIGHDMA |
2911 pr_warn("bna: GRO enabled, using kernel stack GRO\n"); 2911 NETIF_F_IP_CSUM | NETIF_F_IPV6_CSUM |
2912 NETIF_F_TSO | NETIF_F_TSO6;
2912 2913
2913 netdev->features |= NETIF_F_SG | NETIF_F_IP_CSUM; 2914 netdev->features |= netdev->hw_features |
2915 NETIF_F_HW_VLAN_RX | NETIF_F_HW_VLAN_FILTER;
2914 2916
2915 if (using_dac) 2917 if (using_dac)
2916 netdev->features |= NETIF_F_HIGHDMA; 2918 netdev->features |= NETIF_F_HIGHDMA;
2917 2919
2918 netdev->features |=
2919 NETIF_F_HW_VLAN_TX | NETIF_F_HW_VLAN_RX |
2920 NETIF_F_HW_VLAN_FILTER;
2921
2922 netdev->vlan_features = netdev->features;
2923 netdev->mem_start = bnad->mmio_start; 2920 netdev->mem_start = bnad->mmio_start;
2924 netdev->mem_end = bnad->mmio_start + bnad->mmio_len - 1; 2921 netdev->mem_end = bnad->mmio_start + bnad->mmio_len - 1;
2925 2922
@@ -2970,7 +2967,6 @@ bnad_init(struct bnad *bnad,
2970 2967
2971 bnad->txq_depth = BNAD_TXQ_DEPTH; 2968 bnad->txq_depth = BNAD_TXQ_DEPTH;
2972 bnad->rxq_depth = BNAD_RXQ_DEPTH; 2969 bnad->rxq_depth = BNAD_RXQ_DEPTH;
2973 bnad->rx_csum = true;
2974 2970
2975 bnad->tx_coalescing_timeo = BFI_TX_COALESCING_TIMEO; 2971 bnad->tx_coalescing_timeo = BFI_TX_COALESCING_TIMEO;
2976 bnad->rx_coalescing_timeo = BFI_RX_COALESCING_TIMEO; 2972 bnad->rx_coalescing_timeo = BFI_RX_COALESCING_TIMEO;