--- /dev/null
+From ben@decadent.org.uk Fri Feb 10 22:14:58 2017
+From: Ben Hutchings <ben@decadent.org.uk>
+Date: Thu, 9 Feb 2017 19:37:35 +0000
+Subject: [PATCH] netvsc: Set maximum GSO size in the right place
+To: Greg Kroah-Hartman <gregkh@linuxfoundation.org>, linux-kernel@vger.kernel.org
+Cc: stable@vger.kernel.org, Stephen Hemminger <sthemmin@microsoft.com>, "David S. Miller" <davem@davemloft.net>
+Message-ID: <20170209193734.GB3442@decadent.org.uk>
+Content-Disposition: inline
+
+From: Ben Hutchings <ben@decadent.org.uk>
+
+Commit a50af86dd49e "netvsc: reduce maximum GSO size" was wrongly
+backported to 4.4-stable. The maximum size needs to be set before the
+net device is registered, in netvsc_probe().
+
+Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
+Cc: Stephen Hemminger <sthemmin@microsoft.com>
+Cc: "David S. Miller" <davem@davemloft.net>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ drivers/net/hyperv/netvsc_drv.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/drivers/net/hyperv/netvsc_drv.c
++++ b/drivers/net/hyperv/netvsc_drv.c
+@@ -854,7 +854,6 @@ static int netvsc_set_channels(struct ne
+ }
+ goto recover;
+ }
+- netif_set_gso_max_size(net, NETVSC_GSO_MAX_SIZE);
+
+ out:
+ netvsc_open(net);
+@@ -1142,6 +1141,7 @@ static int netvsc_probe(struct hv_device
+ nvdev = hv_get_drvdata(dev);
+ netif_set_real_num_tx_queues(net, nvdev->num_chn);
+ netif_set_real_num_rx_queues(net, nvdev->num_chn);
++ netif_set_gso_max_size(net, NETVSC_GSO_MAX_SIZE);
+
+ ret = register_netdev(net);
+ if (ret != 0) {