pkgdep/git: [ICE] Patch for incompatible-pointer-types raised in ice driver

This has been spotted while testing fedora36 builds
and fedora35 with the newest >=5.17.x kernels.

Signed-off-by: Michal Berger <michal.berger@intel.com>
Signed-off-by: Kamil Godzwon <kamilx.godzwon@intel.com>
Change-Id: I012e293d2e6be65f9de80109f4e180ccbc1cd668
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/12232
Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com>
Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
This commit is contained in:
Michal Berger 2022-04-12 10:56:56 +02:00 committed by Tomasz Zawadzki
parent 0a25fa3b31
commit fe31d16c82
2 changed files with 35 additions and 0 deletions

View File

@ -470,6 +470,10 @@ function install_ice() {
fi < "$rootdir/test/common/config/pkgdep/patches/ice/0001-undef-skb-frag-off.patch"
fi
if ge "$kernel_ver" 5.17.0; then
patch --dir="$GIT_REPOS/ice-$ICE_VERSION" -p1
fi < "$rootdir/test/common/config/pkgdep/patches/ice/0001-ringparam-incompatible-pointer-types.patch"
(
cd "$GIT_REPOS/ice-$ICE_VERSION/src"
sudo make -j"$(nproc)" install

View File

@ -0,0 +1,31 @@
Fix incompatible-pointer-types error raised due to changes in more recent kernels (5.17)
in ringparam API.
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=7462494408cd3de8b0bc1e79670bf213288501d0
---
src/ice_ethtool.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/ice_ethtool.c b/src/ice_ethtool.c
index f855968..d92f67b 100644
--- a/src/ice_ethtool.c
+++ b/src/ice_ethtool.c
@@ -4511,7 +4511,7 @@ ice_get_rxnfc(struct net_device *netdev, struct ethtool_rxnfc *cmd,
}
static void
-ice_get_ringparam(struct net_device *netdev, struct ethtool_ringparam *ring)
+ice_get_ringparam(struct net_device *netdev, struct ethtool_ringparam *ring, struct kernel_ethtool_ringparam __maybe_unused *ker, struct netlink_ext_ack __maybe_unused *ext_ack)
{
struct ice_netdev_priv *np = netdev_priv(netdev);
struct ice_vsi *vsi = np->vsi;
@@ -4529,7 +4529,7 @@ ice_get_ringparam(struct net_device *netdev, struct ethtool_ringparam *ring)
}
static int
-ice_set_ringparam(struct net_device *netdev, struct ethtool_ringparam *ring)
+ice_set_ringparam(struct net_device *netdev, struct ethtool_ringparam *ring, struct kernel_ethtool_ringparam __maybe_unused *ker, struct netlink_ext_ack __maybe_unused *ext_ack)
{
struct ice_ring *tx_rings = NULL, *rx_rings = NULL;
struct ice_netdev_priv *np = netdev_priv(netdev);
--