[PATCH net-next v4 0/7] net: axienet: Fix deferred probe loop
From: Sean Anderson <sean.anderson@linux.dev>
Date: 2025-08-05 15:35:23
Also in:
linux-arm-kernel, lkml
Fix a deferred-probe loop by splitting the MAC and MDIO functionality into separate drivers. Please refer to the last patch for an extended look at the problem this series is attempting to solve. This is a rather large fix for a rather rare bug, so I have sent it for net-next. The first patch is a smaller fix, however, and could go via net. Changes in v4: - Fix documentation for axienet_mdio_enable - Fix platform_driver_register in exit Changes in v3: - Use ioread32/iowrite32 directly in MDIO - Use MDIO bus device in prints - Use device variable to probe - Rework to use a separate axienet_common structure, as netdevs cannot be reused once registered. - Use ida_alloc for aux id Changes in v2: - Fix building as a module - Expand commit message with much more info on the problem and possible solutions Sean Anderson (7): net: axienet: Fix resource release ordering net: axienet: Use ioread32/iowrite32 directly net: axienet: Use MDIO bus device in prints net: axienet: Simplify axienet_mdio_setup net: axienet: Use device variable in probe net: axienet: Rearrange lifetime functions net: axienet: Split into MAC and MDIO drivers drivers/net/ethernet/xilinx/Kconfig | 1 + drivers/net/ethernet/xilinx/xilinx_axienet.h | 45 +- .../net/ethernet/xilinx/xilinx_axienet_main.c | 383 +++++++++++------- .../net/ethernet/xilinx/xilinx_axienet_mdio.c | 158 ++++---- 4 files changed, 350 insertions(+), 237 deletions(-) -- 2.35.1.1320.gc452695387.dirty