+++ /dev/null
-diff --git a/src/netdev.c b/src/netdev.c
-index 73b0f9a..aef1bc2 100644
---- a/src/netdev.c
-+++ b/src/netdev.c
-@@ -6724,19 +6724,12 @@ static int e1000_change_mtu(struct net_device *netdev, int new_mtu)
- int max_frame = new_mtu + VLAN_ETH_HLEN + ETH_FCS_LEN;
-
- /* Jumbo frame support */
-- if ((max_frame > (VLAN_ETH_FRAME_LEN + ETH_FCS_LEN)) &&
-+ if ((new_mtu > ETH_DATA_LEN) &&
- !(adapter->flags & FLAG_HAS_JUMBO_FRAMES)) {
- e_err("Jumbo Frames not supported.\n");
- return -EINVAL;
- }
-
-- /* Supported frame sizes */
-- if ((new_mtu < (VLAN_ETH_ZLEN + ETH_FCS_LEN)) ||
-- (max_frame > adapter->max_hw_frame_size)) {
-- e_err("Unsupported MTU setting\n");
-- return -EINVAL;
-- }
--
- /* Jumbo frame workaround on 82579 and newer requires CRC be stripped */
- if ((adapter->hw.mac.type >= e1000_pch2lan) &&
- !(adapter->flags2 & FLAG2_CRC_STRIPPING) &&
-@@ -8262,6 +8255,11 @@ static int e1000_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
- #endif /* HAVE_NETDEV_VLAN_FEATURES */
- }
-
-+ /* MTU range: 68 - max_hw_frame_size */
-+ netdev->min_mtu = ETH_MIN_MTU;
-+ netdev->max_mtu = adapter->max_hw_frame_size -
-+ (VLAN_ETH_HLEN + ETH_FCS_LEN);
-+
- if (e1000e_enable_mng_pass_thru(&adapter->hw))
- adapter->flags |= FLAG_MNG_PT_ENABLED;
-
+++ /dev/null
-From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
-From: Thomas Lamprecht <t.lamprecht@proxmox.com>
-Date: Tue, 5 Jun 2018 11:16:29 +0200
-Subject: [PATCH] port to new internal kernel timer API
-
-Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
----
-diff --git a/src/netdev.c b/src/netdev.c
---- a/src/netdev.c
-+++ b/src/netdev.c
-@@ -5389,9 +5389,10 @@
- * Need to wait a few seconds after link up to get diagnostic information from
- * the phy
- **/
--static void e1000_update_phy_info(unsigned long data)
-+static void e1000_update_phy_info(struct timer_list *t)
- {
-- struct e1000_adapter *adapter = (struct e1000_adapter *)data;
-+ struct e1000_adapter *adapter;
-+ adapter = from_timer(adapter, t, phy_info_timer);
-
- if (test_bit(__E1000_DOWN, &adapter->state))
- return;
-@@ -5774,9 +5775,10 @@
- * e1000_watchdog - Timer Call-back
- * @data: pointer to adapter cast into an unsigned long
- **/
--static void e1000_watchdog(unsigned long data)
-+static void e1000_watchdog(struct timer_list *t)
- {
-- struct e1000_adapter *adapter = (struct e1000_adapter *)data;
-+ struct e1000_adapter *adapter;
-+ adapter = from_timer(adapter, t, watchdog_timer);
-
- /* Do the rest outside of interrupt context */
- schedule_work(&adapter->watchdog_task);
-@@ -8348,13 +8348,9 @@
- goto err_eeprom;
- }
-
-- init_timer(&adapter->watchdog_timer);
-- adapter->watchdog_timer.function = e1000_watchdog;
-- adapter->watchdog_timer.data = (unsigned long)adapter;
--
-- init_timer(&adapter->phy_info_timer);
-- adapter->phy_info_timer.function = e1000_update_phy_info;
-- adapter->phy_info_timer.data = (unsigned long)adapter;
-+ timer_setup(&adapter->watchdog_timer, e1000_watchdog, 0);
-+
-+ timer_setup(&adapter->phy_info_timer, e1000_update_phy_info, 0);
-
- INIT_WORK(&adapter->reset_task, e1000_reset_task);
- INIT_WORK(&adapter->watchdog_task, e1000_watchdog_task);
+++ /dev/null
-diff --git a/src/igb_main.c.orig b/src/igb_main.c
-index 3ee1ec7..c8adf04 100644
---- a/src/igb_main.c.orig
-+++ b/src/igb_main.c
-@@ -5888,10 +5888,8 @@ static int igb_change_mtu(struct net_dev
- while (test_and_set_bit(__IGB_RESETTING, &adapter->state))
- usleep_range(1000, 2000);
-
--#ifndef HAVE_NETDEVICE_MIN_MAX_MTU
- /* igb_down has a dependency on max_frame_size */
- adapter->max_frame_size = max_frame;
--#endif
-
- if (netif_running(netdev))
- igb_down(adapter);
+++ /dev/null
-diff --git a/src/Makefile.orig b/src/Makefile
-index 8e962f7..50bcdcc 100644
---- a/src/Makefile.orig
-+++ b/src/Makefile
-@@ -123,6 +123,13 @@ ifeq (,$(CC))
- $(error Compiler not found)
- endif
-
-+# workaround for GCC6's default PIE
-+ifeq ($(CC),gcc)
-+ PIE_TEST = [ -z "`$(CC) -fno-PIE -no-pie -x c -c /dev/null -o /dev/null 2>&1`" ]
-+ PIE_FLAGS := $(shell $(PIE_TEST) && echo '-fno-PIE -no-pie')
-+ EXTRA_CFLAGS += $(PIE_FLAGS)
-+endif
-+
- # we need to know what platform the driver is being built on
- # some additional features are only built on Intel platforms
- ARCH := $(shell uname -m | sed 's/i.86/i386/')