summaryrefslogtreecommitdiff
path: root/net/rmnet_data
diff options
context:
space:
mode:
authorLinux Build Service Account <lnxbuild@localhost>2017-01-28 00:46:22 -0800
committerGerrit - the friendly Code Review server <code-review@localhost>2017-01-28 00:46:21 -0800
commitbe6930bffd211ed46e28a99cfcecd7f0567c0577 (patch)
tree8edea2afe88e0d58a61bb118b7bba91f213bd0e5 /net/rmnet_data
parent314869eb56763d34f91d5483b0d510267894fadd (diff)
parent90c133c67c74d0e8f6b78899e9fca3d502b1039e (diff)
Merge "net: rmnet_data: Disable generic receive offload by default"
Diffstat (limited to 'net/rmnet_data')
-rw-r--r--net/rmnet_data/rmnet_data_vnd.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/net/rmnet_data/rmnet_data_vnd.c b/net/rmnet_data/rmnet_data_vnd.c
index 2999e2c15fdb..2819da9ae3f2 100644
--- a/net/rmnet_data/rmnet_data_vnd.c
+++ b/net/rmnet_data/rmnet_data_vnd.c
@@ -504,6 +504,18 @@ static void rmnet_vnd_setup(struct net_device *dev)
INIT_LIST_HEAD(&dev_conf->flow_head);
}
+/**
+ * rmnet_vnd_setup() - net_device initialization helper function
+ * @dev: Virtual network device
+ *
+ * Called during device initialization. Disables GRO.
+ */
+static void rmnet_vnd_disable_offload(struct net_device *dev)
+{
+ dev->wanted_features &= ~NETIF_F_GRO;
+ __netdev_update_features(dev);
+}
+
/* ***************** Exposed API ******************************************** */
/**
@@ -616,6 +628,8 @@ int rmnet_vnd_create_dev(int id, struct net_device **new_device,
*new_device = dev;
}
+ rmnet_vnd_disable_offload(dev);
+
LOGM("Registered device %s", dev->name);
return rc;
}