diff --git a/lfs/e1000e b/lfs/e1000e index 5f284ce92..37b0c41e9 100644 --- a/lfs/e1000e +++ b/lfs/e1000e @@ -1,7 +1,7 @@ ############################################################################### # # # IPFire.org - A linux based firewall # -# Copyright (C) 2007-2015 IPFire Team # +# Copyright (C) 2007-2016 IPFire Team # # # # This program is free software: you can redistribute it and/or modify # # it under the terms of the GNU General Public License as published by # @@ -27,7 +27,7 @@ include Config VERSUFIX = ipfire$(KCFG) MODPATH = /lib/modules/$(KVER)-$(VERSUFIX)/kernel/drivers/net/ethernet/intel/e1000e -VER = 3.2.7.1 +VER = 3.3.3 THISAPP = e1000e-$(VER) DL_FILE = $(THISAPP).tar.gz @@ -43,7 +43,7 @@ objects = $(DL_FILE) $(DL_FILE) = $(DL_FROM)/$(DL_FILE) -$(DL_FILE)_MD5 = 8f62c220d763fa92473365e40d55bd86 +$(DL_FILE)_MD5 = 01274408a0f987457600dc7993c9d59a install : $(TARGET) diff --git a/lfs/igb b/lfs/igb index 85d228c40..d00a1e1c9 100644 --- a/lfs/igb +++ b/lfs/igb @@ -27,7 +27,7 @@ include Config VERSUFIX = ipfire$(KCFG) MODPATH = /lib/modules/$(KVER)-$(VERSUFIX)/kernel/drivers/net/ethernet/intel/igb/ -VER = 5.3.3.2 +VER = 5.3.4.4 THISAPP = igb-$(VER) DL_FILE = $(THISAPP).tar.gz @@ -43,7 +43,7 @@ objects = $(DL_FILE) $(DL_FILE) = $(DL_FROM)/$(DL_FILE) -$(DL_FILE)_MD5 = 2d753a0bd03c949ec08d68c27540044d +$(DL_FILE)_MD5 = 6c0d7dfdb161128da7c039fc83bbdba0 install : $(TARGET) @@ -79,6 +79,7 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects)) -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) diff --git a/lfs/linux b/lfs/linux index f7782ff39..be2e105b9 100644 --- a/lfs/linux +++ b/lfs/linux @@ -37,7 +37,7 @@ DIR_APP = $(DIR_SRC)/$(THISAPP) CFLAGS = CXXFLAGS = -PAK_VER = 66 +PAK_VER = 67 DEPS = "" KERNEL_ARCH = $(MACHINE) diff --git a/src/patches/igb-5.3.4.4_fix_hung_at_dev_get_stats.patch b/src/patches/igb-5.3.4.4_fix_hung_at_dev_get_stats.patch new file mode 100644 index 000000000..a92c44196 --- /dev/null +++ b/src/patches/igb-5.3.4.4_fix_hung_at_dev_get_stats.patch @@ -0,0 +1,35 @@ +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);