From 6febb77650e96402767132b69b229fc3ae2f6ca4 Mon Sep 17 00:00:00 2001 From: "David S. Miller" Date: Tue, 22 Apr 2003 10:19:42 -0700 Subject: [PATCH] [NET]: SG without checksum support is illegal. --- net/core/dev.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/net/core/dev.c b/net/core/dev.c index b6f627be7b08d..9c041e1be73ef 100644 --- a/net/core/dev.c +++ b/net/core/dev.c @@ -2582,6 +2582,16 @@ int register_netdevice(struct net_device *dev) if ((ret = kobject_register(&dev->kobj))) goto out_err; + /* Fix illegal SG+CSUM combinations. */ + if ((dev->features & NETIF_F_SG) && + !(dev->features & (NETIF_F_IP_CSUM | + NETIF_F_NO_CSUM | + NETIF_F_HW_CSUM))) { + printk("%s: Dropping NETIF_F_SG since no checksum feature.\n", + dev->name); + dev->features &= ~NETIF_F_SG; + } + /* * nil rebuild_header routine, * that should be never called and used as just bug trap. -- 2.53.0