From f8dab205f191320b5805dc7a2fb847e5298ad202 Mon Sep 17 00:00:00 2001 From: Giovanni Harting <539@idlegandalf.com> Date: Fri, 13 Oct 2023 23:39:22 +0200 Subject: [PATCH] add e1000e-no-nvm-checksum-dkms --- e1000e-no-nvm-checksum-dkms/PKGBUILD | 35 +++++++++++++++++++ e1000e-no-nvm-checksum-dkms/dkms.conf.in | 6 ++++ .../e1000e-3.8.7_coalesce_interface.patch | 25 +++++++++++++ .../e1000e-no-nvm-checksum.patch | 12 +++++++ 4 files changed, 78 insertions(+) create mode 100644 e1000e-no-nvm-checksum-dkms/PKGBUILD create mode 100644 e1000e-no-nvm-checksum-dkms/dkms.conf.in create mode 100644 e1000e-no-nvm-checksum-dkms/e1000e-3.8.7_coalesce_interface.patch create mode 100644 e1000e-no-nvm-checksum-dkms/e1000e-no-nvm-checksum.patch diff --git a/e1000e-no-nvm-checksum-dkms/PKGBUILD b/e1000e-no-nvm-checksum-dkms/PKGBUILD new file mode 100644 index 0000000..a725bca --- /dev/null +++ b/e1000e-no-nvm-checksum-dkms/PKGBUILD @@ -0,0 +1,35 @@ +# Maintainer: Giovanni Harting <539@idlegandalf.com> +# Contributor: Michael Brock + +pkgname=e1000e-no-nvm-checksum-dkms +_modname=e1000e +pkgver=3.8.7 +pkgrel=1 +pkgdesc="Intel e1000e Ethernet adapter driver (latest version from Intel) (DKMS version)" +license=('GPL') +arch=('any') +depends=('dkms') +conflicts=('e1000e-dkms') +optdepends=('linux-headers: build the module against Arch kernel [requires at least one set of kernel headers]' + 'linux-ck-headers: build the module against Linux-ck kernel [requires at least one set of kernel headers]' + 'linux-lts-headers: build the module against LTS Arch kernel [requires at least one set of kernel headers]') +url='http://sourceforge.net/projects/e1000/' +source=("http://downloads.sourceforge.net/project/e1000/${_modname}%20historic%20archive/${pkgver}/${_modname}-${pkgver}.tar.gz" + 'dkms.conf.in' + 'e1000e-3.8.7_coalesce_interface.patch' + 'e1000e-no-nvm-checksum.patch') +b2sums=('b308c5797fc30d1342ea4d627e41fde1b65ff2ef7e26e6d38deeb2ee5295f1a4b5db56c88ecef59d5a2f00cc6d39942b4ae213a5f1e8f7c897cda19c5e848829' + 'a4c9362d067b8e411718018b3a27895ce24b51975a28766310bd9788cc0e49b2acb352019bd6be61b019cfd304eb1684e8877adade8cfd89380a27a0891e7e81' + 'ff2c252905e55c68519c046f119c3295958a73e443f561af3457f85f5d5cb97949ef60d6bfb9de6911d8f85948bd8d00c6c25ba3991a2cec96a374e766d9947b' + 'a771245d8a67723dc108ea9f1c7b8696e5be9d3c7eff619577e92673b1ab950d1d6928b8f96a0562ea07de25092c087af61a0e19fc95ee717929118b9a99fd98') + +package() { + cd ${srcdir}/${_modname}-${pkgver} + patch -Np1 < ${srcdir}/e1000e-3.8.7_coalesce_interface.patch + patch -Np1 < ${srcdir}/e1000e-no-nvm-checksum.patch + install -dm755 "${pkgdir}/usr/src/${_modname}-${pkgver}/" + for i in "${srcdir}/${_modname}-${pkgver}/src/"*; do + install -D -m644 "${i}" "${pkgdir}/usr/src/${_modname}-${pkgver}/" + done + sed "s/#MODULE_VERSION#/${pkgver}/" "${srcdir}/dkms.conf.in" > "${pkgdir}/usr/src/${_modname}-${pkgver}/dkms.conf" +} diff --git a/e1000e-no-nvm-checksum-dkms/dkms.conf.in b/e1000e-no-nvm-checksum-dkms/dkms.conf.in new file mode 100644 index 0000000..bff7ed6 --- /dev/null +++ b/e1000e-no-nvm-checksum-dkms/dkms.conf.in @@ -0,0 +1,6 @@ +PACKAGE_NAME="e1000e" +PACKAGE_VERSION="#MODULE_VERSION#" +CLEAN="make clean" +BUILT_MODULE_NAME[0]="e1000e" +DEST_MODULE_LOCATION[0]="/updates" +AUTOINSTALL="yes" diff --git a/e1000e-no-nvm-checksum-dkms/e1000e-3.8.7_coalesce_interface.patch b/e1000e-no-nvm-checksum-dkms/e1000e-3.8.7_coalesce_interface.patch new file mode 100644 index 0000000..5c6479d --- /dev/null +++ b/e1000e-no-nvm-checksum-dkms/e1000e-3.8.7_coalesce_interface.patch @@ -0,0 +1,25 @@ +diff -rauN e1000e-3.8.7/src/ethtool.c e1000e-3.8.7_coalesce_interface_patch/src/ethtool.c +--- e1000e-3.8.7/src/ethtool.c 2020-06-30 12:11:13.000000000 +0200 ++++ e1000e-3.8.7_coalesce_interface_patch/src/ethtool.c 2023-09-07 16:46:35.000000000 +0200 +@@ -2421,7 +2421,9 @@ + #endif /* HAVE_ETHTOOL_SET_PHYS_ID */ + + static int e1000_get_coalesce(struct net_device *netdev, +- struct ethtool_coalesce *ec) ++ struct ethtool_coalesce *ec, ++ struct kernel_ethtool_coalesce *kec, ++ struct netlink_ext_ack *kack) + { + struct e1000_adapter *adapter = netdev_priv(netdev); + +@@ -2434,7 +2436,9 @@ + } + + static int e1000_set_coalesce(struct net_device *netdev, +- struct ethtool_coalesce *ec) ++ struct ethtool_coalesce *ec, ++ struct kernel_ethtool_coalesce *kec, ++ struct netlink_ext_ack *kack) + { + struct e1000_adapter *adapter = netdev_priv(netdev); + diff --git a/e1000e-no-nvm-checksum-dkms/e1000e-no-nvm-checksum.patch b/e1000e-no-nvm-checksum-dkms/e1000e-no-nvm-checksum.patch new file mode 100644 index 0000000..6292bc0 --- /dev/null +++ b/e1000e-no-nvm-checksum-dkms/e1000e-no-nvm-checksum.patch @@ -0,0 +1,12 @@ +diff --color -rauN e1000e-3.8.7/src/nvm.c e1000e-3.8.7_no_nvm_check/src/nvm.c +--- e1000e-3.8.7/src/nvm.c 2020-06-30 12:11:13.596416913 +0200 ++++ e1000e-3.8.7_no_nvm_check/src/nvm.c 2023-10-13 23:29:43.013504316 +0200 +@@ -561,7 +561,7 @@ + + if (checksum != (u16)NVM_SUM) { + e_dbg("NVM Checksum Invalid\n"); +- return -E1000_ERR_NVM; ++ //return -E1000_ERR_NVM; + } + + return 0;