diff options
Diffstat (limited to 'drivers/net/ethernet/sfc/efx.c')
| -rw-r--r-- | drivers/net/ethernet/sfc/efx.c | 23 | 
1 files changed, 7 insertions, 16 deletions
diff --git a/drivers/net/ethernet/sfc/efx.c b/drivers/net/ethernet/sfc/efx.c index 02c2adeb0a12..a4f22d8e6ac7 100644 --- a/drivers/net/ethernet/sfc/efx.c +++ b/drivers/net/ethernet/sfc/efx.c @@ -18,7 +18,6 @@  #include <linux/ethtool.h>  #include <linux/topology.h>  #include <linux/gfp.h> -#include <linux/aer.h>  #include <linux/interrupt.h>  #include "net_driver.h"  #include <net/gre.h> @@ -541,7 +540,6 @@ int efx_net_open(struct net_device *net_dev)  	else  		efx->state = STATE_NET_UP; -	efx_selftest_async_start(efx);  	return 0;  } @@ -892,8 +890,6 @@ static void efx_pci_remove(struct pci_dev *pci_dev)  	free_netdev(efx->net_dev);  	probe_data = container_of(efx, struct efx_probe_data, efx);  	kfree(probe_data); - -	pci_disable_pcie_error_reporting(pci_dev);  };  /* NIC VPD information @@ -1001,21 +997,18 @@ static int efx_pci_probe_post_io(struct efx_nic *efx)  	}  	/* Determine netdevice features */ -	net_dev->features |= (efx->type->offload_features | NETIF_F_SG | -			      NETIF_F_TSO | NETIF_F_RXCSUM | NETIF_F_RXALL); -	if (efx->type->offload_features & (NETIF_F_IPV6_CSUM | NETIF_F_HW_CSUM)) { -		net_dev->features |= NETIF_F_TSO6; -		if (efx_has_cap(efx, TX_TSO_V2_ENCAP)) -			net_dev->hw_enc_features |= NETIF_F_TSO6; -	} -	/* Check whether device supports TSO */ -	if (!efx->type->tso_versions || !efx->type->tso_versions(efx)) -		net_dev->features &= ~NETIF_F_ALL_TSO; +	net_dev->features |= efx->type->offload_features; + +	/* Add TSO features */ +	if (efx->type->tso_versions && efx->type->tso_versions(efx)) +		net_dev->features |= NETIF_F_TSO | NETIF_F_TSO6; +  	/* Mask for features that also apply to VLAN devices */  	net_dev->vlan_features |= (NETIF_F_HW_CSUM | NETIF_F_SG |  				   NETIF_F_HIGHDMA | NETIF_F_ALL_TSO |  				   NETIF_F_RXCSUM); +	/* Determine user configurable features */  	net_dev->hw_features |= net_dev->features & ~efx->fixed_features;  	/* Disable receiving frames with bad FCS, by default. */ @@ -1126,8 +1119,6 @@ static int efx_pci_probe(struct pci_dev *pci_dev,  		netif_warn(efx, probe, efx->net_dev,  			   "failed to create MTDs (%d)\n", rc); -	(void)pci_enable_pcie_error_reporting(pci_dev); -  	if (efx->type->udp_tnl_push_ports)  		efx->type->udp_tnl_push_ports(efx);  |