diff options
Diffstat (limited to 'net/core/dev.c')
| -rw-r--r-- | net/core/dev.c | 14 | 
1 files changed, 14 insertions, 0 deletions
diff --git a/net/core/dev.c b/net/core/dev.c index a44eeef24ed..8d154159527 100644 --- a/net/core/dev.c +++ b/net/core/dev.c @@ -2717,6 +2717,20 @@ int register_netdevice(struct net_device *dev)  		       dev->name);  		dev->features &= ~NETIF_F_TSO;  	} +	if (dev->features & NETIF_F_UFO) { +		if (!(dev->features & NETIF_F_HW_CSUM)) { +			printk(KERN_ERR "%s: Dropping NETIF_F_UFO since no " +					"NETIF_F_HW_CSUM feature.\n", +							dev->name); +			dev->features &= ~NETIF_F_UFO; +		} +		if (!(dev->features & NETIF_F_SG)) { +			printk(KERN_ERR "%s: Dropping NETIF_F_UFO since no " +					"NETIF_F_SG feature.\n", +					dev->name); +			dev->features &= ~NETIF_F_UFO; +		} +	}  	/*  	 *	nil rebuild_header routine,  | 
