From 75e23dd864a3257fd9fc07caab01edd531b3a33f Mon Sep 17 00:00:00 2001 From: Koki Nakazawa Date: Tue, 11 Aug 2026 07:48:30 +0900 Subject: [PATCH] Fix build on kernels defaulting to gnu89 (pre-5.18) Kernels before 5.18 compile modules with -std=gnu89, where the C99 for-loop declaration in intrepid_remove_eth_if() is a hard error, so current master does not build on e.g. Ubuntu 22.04 LTS (5.15). Hoist the declarations to the top of the function, which also satisfies -Wdeclaration-after-statement on newer kernels. Signed-off-by: Koki Nakazawa --- intrepid.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/intrepid.c b/intrepid.c index 6c5726b..4b2faf8 100644 --- a/intrepid.c +++ b/intrepid.c @@ -748,6 +748,9 @@ static bool handle_ETH_transmit_receipt( static int intrepid_remove_eth_if(int index) { struct net_device *device = intrepid_get_dev_by_index(index); + struct intrepid_netdevice *ics; + size_t i; + if (!device) return -EINVAL; @@ -756,9 +759,9 @@ static int intrepid_remove_eth_if(int index) pr_info("intrepid: Removing device %d %s 0x%p\n", index, device->name, device); - struct intrepid_netdevice *ics = netdev_priv(device); + ics = netdev_priv(device); - for (size_t i = 0; i < MAX_TX; ++i) { + for (i = 0; i < MAX_TX; ++i) { if (ics->tx_skbs[i]) { kfree_skb(ics->tx_skbs[i]); }