[dpdk-stable] [PATCH 18.11] kni: fix ethtool build with kernel 5.6
Kevin Traynor
ktraynor at redhat.com
Thu May 28 18:57:51 CEST 2020
With the following Linux commit a new parameter 'txqueue' has been added
to 'ndo_tx_timeout' ndo:
0290bd291cc0 ("netdev: pass the stuck queue to the timeout handler")
A check on Linux kernel version is already done in commit
6ff755242707 ("kni: fix build with Linux 5.6")
and HAVE_TX_TIMEOUT_TXQUEUE is used to indicate if the extra parameter
is required.
Update igb ethtool to use the define.
Signed-off-by: Kevin Traynor <ktraynor at redhat.com>
---
kernel/linux/kni/ethtool/igb/igb_main.c | 9 +++++++++
1 file changed, 9 insertions(+)
diff --git a/kernel/linux/kni/ethtool/igb/igb_main.c b/kernel/linux/kni/ethtool/igb/igb_main.c
index cb1b536775..5a07d007a2 100644
--- a/kernel/linux/kni/ethtool/igb/igb_main.c
+++ b/kernel/linux/kni/ethtool/igb/igb_main.c
@@ -37,4 +37,5 @@
#include <linux/if_bridge.h>
+#include "compat.h"
#include "igb.h"
#include "igb_vmdq.h"
@@ -155,5 +156,9 @@ static bool igb_clean_tx_irq(struct igb_q_vector *);
static bool igb_clean_rx_irq(struct igb_q_vector *, int);
static int igb_ioctl(struct net_device *, struct ifreq *, int cmd);
+#ifdef HAVE_TX_TIMEOUT_TXQUEUE
+static void igb_tx_timeout(struct net_device *, unsigned int);
+#else
static void igb_tx_timeout(struct net_device *);
+#endif /* HAVE_TX_TIMEOUT_TXQUEUE */
static void igb_reset_task(struct work_struct *);
#ifdef HAVE_VLAN_RX_REGISTER
@@ -5624,5 +5629,9 @@ static netdev_tx_t igb_xmit_frame(struct sk_buff *skb,
* @netdev: network interface device structure
**/
+#ifdef HAVE_TX_TIMEOUT_TXQUEUE
+static void igb_tx_timeout(struct net_device *netdev, unsigned int txqueue)
+#else
static void igb_tx_timeout(struct net_device *netdev)
+#endif
{
struct igb_adapter *adapter = netdev_priv(netdev);
--
2.21.3
More information about the stable
mailing list