diff --git a/backport-ethtool-extend-ringparam-setting-getting-API-with-rx.patch b/backport-ethtool-extend-ringparam-setting-getting-API-with-rx.patch deleted file mode 100644 index 5b6c364..0000000 --- a/backport-ethtool-extend-ringparam-setting-getting-API-with-rx.patch +++ /dev/null @@ -1,42 +0,0 @@ -From 7462494408cd3de8b0bc1e79670bf213288501d0 Mon Sep 17 00:00:00 2001 -From: Hao Chen -Date: Thu, 18 Nov 2021 20:12:43 +0800 -Subject: ethtool: extend ringparam setting/getting API with rx_buf_len - -Add two new parameters kernel_ringparam and extack for -.get_ringparam and .set_ringparam to extend more ring params -through netlink. - ---- - src/iavf_ethtool.c | 8 ++++++-- - 1 files changed, 6 insertions(+), 2 deletions(-) - delete mode 100644 src/.iavf_ethtool_stats.h.swp - -diff --git a/src/iavf_ethtool.c b/src/iavf_ethtool.c -index 3f7d427..545685f 100644 ---- a/src/iavf_ethtool.c -+++ b/src/iavf_ethtool.c -@@ -634,7 +634,9 @@ static void iavf_get_drvinfo(struct net_device *netdev, - * but the number of rings is not reported. - **/ - static void iavf_get_ringparam(struct net_device *netdev, -- struct ethtool_ringparam *ring) -+ struct ethtool_ringparam *ring, -+ struct kernel_ethtool_ringparam *kernel_ring, -+ struct netlink_ext_ack *extack) - { - struct iavf_adapter *adapter = netdev_priv(netdev); - -@@ -653,7 +655,9 @@ static void iavf_get_ringparam(struct net_device *netdev, - * number of rings is not specified, so all rings get the same settings. - **/ - static int iavf_set_ringparam(struct net_device *netdev, -- struct ethtool_ringparam *ring) -+ struct ethtool_ringparam *ring, -+ struct kernel_ethtool_ringparam *kernel_ring, -+ struct netlink_ext_ack *extack) - { - struct iavf_adapter *adapter = netdev_priv(netdev); - u32 new_rx_count, new_tx_count; --- -2.27.0 diff --git a/backport-extend-coalesce-setting-uAPI-with-CQE-mode.patch b/backport-extend-coalesce-setting-uAPI-with-CQE-mode.patch deleted file mode 100644 index f16476c..0000000 --- a/backport-extend-coalesce-setting-uAPI-with-CQE-mode.patch +++ /dev/null @@ -1,60 +0,0 @@ -From f3ccfda1931977b80267ba54070a1aeafa18f6ca Mon Sep 17 00:00:00 2001 -From: Yufeng Mo -Date: Fri, 20 Aug 2021 15:35:18 +0800 -Subject: [PATCH] ethtool: extend coalesce setting uAPI with CQE mode - -In order to support more coalesce parameters through netlink, -add two new parameter kernel_coal and extack for .set_coalesce -and .get_coalesce, then some extra info can return to user with -the netlink API. - -Signed-off-by: Yufeng Mo -Signed-off-by: Huazhong Tan -Signed-off-by: Jakub Kicinski ---- - src/iavf_ethtool.c | 12 ++++++++++-- - 1 file changed, 10 insertions(+), 2 deletions(-) - -diff --git a/src/iavf_ethtool.c b/src/iavf_ethtool.c -index 3f7d427..4b60027 100644 ---- a/src/iavf_ethtool.c -+++ b/src/iavf_ethtool.c -@@ -753,6 +753,8 @@ static int __iavf_get_coalesce(struct net_device *netdev, - * iavf_get_coalesce - Get interrupt coalescing settings - * @netdev: network interface device structure - * @ec: ethtool coalesce structure -+ * @kernel_coal: ethtool CQE mode setting structure -+ * @extack: extack for reporting error messages - * - * Returns current coalescing settings. This is referred to elsewhere in the - * driver as Interrupt Throttle Rate, as this is how the hardware describes -@@ -760,7 +762,9 @@ static int __iavf_get_coalesce(struct net_device *netdev, - * only represents the settings of queue 0. - **/ - static int iavf_get_coalesce(struct net_device *netdev, -- struct ethtool_coalesce *ec) -+ struct ethtool_coalesce *ec, -+ struct kernel_ethtool_coalesce *kernel_coal, -+ struct netlink_ext_ack *extack) - { - return __iavf_get_coalesce(netdev, ec, -1); - } -@@ -898,11 +902,15 @@ static int __iavf_set_coalesce(struct net_device *netdev, - * iavf_set_coalesce - Set interrupt coalescing settings - * @netdev: network interface device structure - * @ec: ethtool coalesce structure -+ * @kernel_coal: ethtool CQE mode setting structure -+ * @extack: extack for reporting error messages - * - * Change current coalescing settings for every queue. - **/ - static int iavf_set_coalesce(struct net_device *netdev, -- struct ethtool_coalesce *ec) -+ struct ethtool_coalesce *ec, -+ struct kernel_ethtool_coalesce *kernel_coal, -+ struct netlink_ext_ack *extack) - { - return __iavf_set_coalesce(netdev, ec, -1); - } --- -2.30.0 diff --git a/fix-build-error-with-Linux-5.10.patch b/fix-build-error-with-Linux-5.10.patch deleted file mode 100644 index 509a26c..0000000 --- a/fix-build-error-with-Linux-5.10.patch +++ /dev/null @@ -1,37 +0,0 @@ -From f72271e2a0ae4277d53c4053f5eed8bb346ba38a Mon Sep 17 00:00:00 2001 -From: Brian King -Date: Fri, 17 Nov 2017 11:05:49 -0600 -Subject: i40evf: Use smp_rmb rather than read_barrier_depends - -The original issue being fixed in this patch was seen with the ixgbe -driver, but the same issue exists with i40evf as well, as the code is -very similar. read_barrier_depends is not sufficient to ensure -loads following it are not speculatively loaded out of order -by the CPU, which can result in stale data being loaded, causing -potential system crashes. - -Cc: stable -Signed-off-by: Brian King -Acked-by: Jesse Brandeburg -Tested-by: Andrew Bowers -Signed-off-by: Jeff Kirsher ---- - drivers/net/ethernet/intel/i40evf/i40e_txrx.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/iavf_txrx.c b/src/iavf_txrx.c -index 03c685c..da3cfed 100644 ---- a/src/iavf_txrx.c -+++ b/src/iavf_txrx.c -@@ -289,7 +289,7 @@ static bool iavf_clean_tx_irq(struct iavf_vsi *vsi, - break; - - /* prevent any other reads prior to eop_desc */ -- read_barrier_depends(); -+ smp_rmb(); - - iavf_trace(clean_tx_irq, tx_ring, tx_desc, tx_buf); - /* if the descriptor isn't done, no work yet to do */ --- -1.8.3.1 - diff --git a/iavf-4.0.1.tar.gz b/iavf-4.0.1.tar.gz deleted file mode 100644 index 967d619..0000000 Binary files a/iavf-4.0.1.tar.gz and /dev/null differ diff --git a/iavf-4.7.0.tar.gz b/iavf-4.7.0.tar.gz new file mode 100644 index 0000000..d8f6a34 Binary files /dev/null and b/iavf-4.7.0.tar.gz differ diff --git a/iavf.spec b/iavf.spec index 7e5d7d3..9714710 100644 --- a/iavf.spec +++ b/iavf.spec @@ -8,21 +8,17 @@ Name: iavf Summary: Intel(R) Ethernet Adaptive Virtual Function Driver -Version: 4.0.1 -Release: 8 +Version: 4.7.0 +Release: 1 Vendor: Intel Corporation License: GPL-2.0 URL: http://support.intel.com -Source0: https://downloadmirror.intel.com/30326/eng/%{name}-%{version}.tar.gz +Source0: https://downloadmirror.intel.com/762473/%{name}-%{version}.tar.gz Requires: kernel, findutils, gawk, bash, hwdata BuildRequires: kernel-devel hwdata uname-build-checks gcc -Patch0: fix-build-error-with-Linux-5.10.patch -Patch1: backport-extend-coalesce-setting-uAPI-with-CQE-mode.patch -Patch2: backport-ethtool-extend-ringparam-setting-getting-API-with-rx.patch - %description This package contains the Intel(R) Ethernet Adaptive Virtual Function Driver. @@ -331,6 +327,11 @@ fi uname -r | grep BOOT || /sbin/depmod -a > /dev/null 2>&1 || true +if [ -x "/usr/sbin/weak-modules" ]; then + modules=( $(cat %{_docdir}/%{name}/file.list | grep '\.ko$' | xargs realpath) ) + printf '%s\n' "${modules[@]}" | /usr/sbin/weak-modules --no-initramfs --add-modules +fi + if which dracut >/dev/null 2>&1; then echo "Updating initramfs with dracut..." if dracut --force ; then @@ -356,11 +357,20 @@ else fi %preun +# save tmp list of installed kernel modules for weak-modules +cat %{_docdir}/%{name}/file.list | grep '\.ko$' | xargs realpath > /var/run/rpm-%{name}-modules.list + rm -rf /usr/local/share/%{name} %postun uname -r | grep BOOT || /sbin/depmod -a > /dev/null 2>&1 || true +if [ -x "/usr/sbin/weak-modules" ]; then + modules=( $(cat /var/run/rpm-%{name}-modules.list) ) + printf '%s\n' "${modules[@]}" | /usr/sbin/weak-modules --no-initramfs --remove-modules +fi +rm /var/run/rpm-%{name}-modules.list + if which dracut >/dev/null 2>&1; then echo "Updating initramfs with dracut..." if dracut --force ; then @@ -386,6 +396,12 @@ else fi %changelog +* Wed Feb 01 2023 yanglu - 4.7.0-1 +- Type:bugfix +- ID:NA +- SUG:NA +- DESC:Update iavf version to 4.7.0 to fix kernel-6.1 based build error + * Tue Dec 06 2022 xingwei - 4.0.1-8 - Type:bugfix - ID:NA