-mv $(MODPATH)/igb.ko \
$(MODPATH)/igb.ko.org
@rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE)
+ cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/igb-5.3.4.4_fix_hung_at_dev_get_stats.patch
cd $(DIR_APP)/src && make BUILD_KERNEL=$(KVER)-$(VERSUFIX)
cd $(DIR_APP)/src && install -m 644 igb.ko $(MODPATH)
@rm -rf $(DIR_APP)
--- /dev/null
+Don't read phy_idle_errors at dev_get_stats() because this can
+hung the userspace.
+
+https://sourceforge.net/p/e1000/bugs/500/
+Why this is set to wont-fix?
+
+I think it is better when phy errors are not reportet in the stats
+than a random hanging of the whole sytem.
+
+diff -Naur igb-5.3.4.4.org/src/igb_main.c igb-5.3.4.4/src/igb_main.c
+--- igb-5.3.4.4.org/src/igb_main.c 2016-02-26 01:48:39.000000000 +0100
++++ igb-5.3.4.4/src/igb_main.c 2016-03-31 09:22:10.671794282 +0200
+@@ -6032,14 +6032,14 @@
+
+ /* Tx Dropped needs to be maintained elsewhere */
+
+- /* Phy Stats */
+- if (hw->phy.media_type == e1000_media_type_copper) {
+- if ((adapter->link_speed == SPEED_1000) &&
+- (!e1000_read_phy_reg(hw, PHY_1000T_STATUS, &phy_tmp))) {
+- phy_tmp &= PHY_IDLE_ERROR_COUNT_MASK;
+- adapter->phy_stats.idle_errors += phy_tmp;
+- }
+- }
++// /* Phy Stats */
++// if (hw->phy.media_type == e1000_media_type_copper) {
++// if ((adapter->link_speed == SPEED_1000) &&
++// (!e1000_read_phy_reg(hw, PHY_1000T_STATUS, &phy_tmp))) {
++// phy_tmp &= PHY_IDLE_ERROR_COUNT_MASK;
++// adapter->phy_stats.idle_errors += phy_tmp;
++// }
++// }
+
+ /* Management Stats */
+ adapter->stats.mgptc += E1000_READ_REG(hw, E1000_MGTPTC);