Re: [PATCH iwl-net] idpf: select AUXILIARY_BUS to fix link failure

From: Przemek Kitszel

Date: Thu Nov 12 2026 - 05:25:32 EST


On 11/11/26 8:31 PM, Darren Worrall via B4 Relay wrote:
From: Darren Worrall <darren.worrall@xxxxxxxxxxx>

The build can currently fail with

ld: vmlinux.o: in function `idpf_plug_vport_aux_dev':
drivers/net/ethernet/intel/idpf/idpf_idc.c:82: undefined reference to `auxiliary_device_init'
ld: drivers/net/ethernet/intel/idpf/idpf_idc.c:86: undefined reference to `__auxiliary_device_add'
ld: vmlinux.o: in function `idpf_plug_core_aux_dev':
drivers/net/ethernet/intel/idpf/idpf_idc.c:223: undefined reference to `auxiliary_device_init'
ld: drivers/net/ethernet/intel/idpf/idpf_idc.c:227: undefined reference to `__auxiliary_device_add'

if IDPF is enabled but no other driver pulls in AUXILIARY_BUS. We hit
this building a minimal kernel for hosts with IDPF NICs. It can be
reproduced on x86_64 from allnoconfig by enabling PCI, PCI_MSI, NET,
NETDEVICES, ETHERNET, NET_VENDOR_INTEL and IDPF.

Select AUXILIARY_BUS in IDPF, as ICE and I40E already do. The same
link failure was fixed for BNGE in commit d7065436e8a0 ("net: bnge: add
AUXILIARY_BUS to Kconfig dependencies").

Build-tested with that configuration on net-queue (dev-queue,
34a70a40c954) and on mainline (067c5c24cef2): vmlinux fails to link
without this patch and links with it. Boot-tested on bare metal (AMD
EPYC) with a Google Cloud IDPF NIC, using a 6.18.60 kernel carrying the
same change and IDPF built in: idpf probes the NIC and its link comes
up.

Fixes: f4312e6bfa2a ("idpf: implement core RDMA auxiliary dev create, init, and destroy")
Cc: stable@xxxxxxxxxxxxxxx # 6.17+
Signed-off-by: Darren Worrall <darren.worrall@xxxxxxxxxxx>

Thank you!
Acked-by: Przemek Kitszel <przemyslaw.kitszel@xxxxxxxxx>


---
The link failure was diagnosed, this patch drafted and the tests above
run with the help of an AI coding assistant. I reviewed the patch and
the test results.
---
drivers/net/ethernet/intel/idpf/Kconfig | 1 +
1 file changed, 1 insertion(+)

diff --git a/drivers/net/ethernet/intel/idpf/Kconfig b/drivers/net/ethernet/intel/idpf/Kconfig
index 586df3a4af..6b59173e0d 100644
--- a/drivers/net/ethernet/intel/idpf/Kconfig
+++ b/drivers/net/ethernet/intel/idpf/Kconfig
@@ -5,6 +5,7 @@ config IDPF
tristate "Intel(R) Infrastructure Data Path Function Support"
depends on PCI_MSI
depends on PTP_1588_CLOCK_OPTIONAL
+ select AUXILIARY_BUS
select DIMLIB
select LIBIE_CP
select LIBETH_XDP

---
base-commit: 34a70a40c954fb8044ecd124840a2c38cd3aa4cc
change-id: 20261111-idpf-auxiliary-bus-c0058e27cd9d

Best regards,
--
Darren Worrall <darren.worrall@xxxxxxxxxxx>