On Wed, 24 Jun 2026 at 12:43, David Marchand <[email protected]> wrote: > > This is a followup of the previous bus refactoring. > See > https://inbox.dpdk.org/dev/CAJFAV8zvFpLwz8SY8DUUezyJyM43eRZ17Yj30ex808eHC4ZE=g...@mail.gmail.com/. > > This series refactors the bus cleanup infrastructure to reduce code > duplication and fix resource leaks in several bus drivers. > It should address the leak Thomas pointed at. > > The first part of the series (patches 1-6) addresses several bugs and > inconsistencies: > - Documentation and log message inconsistencies from earlier bus > refactoring > - Device list management issues in dma/idxd and bus/vdev > - Resource leaks in PCI and VMBUS bus cleanup (mappings and interrupts) > - Deferred interrupt allocation to probe time (VMBUS) > > The core infrastructure changes (patches 7-8) introduce the generic > cleanup framework: > - Refactors unplug operations to be the counterpart of probe_device > - Implements rte_bus_generic_cleanup() to centralize cleanup logic > - Adds .free_device operation to struct rte_bus > > The final patches (9-10) convert the VMBUS bus to use the generic > cleanup helper. > > After this series, most buses use the generic cleanup helper, eliminating > duplicated code and ensuring consistent cleanup behavior across the > codebase. > > NXP bus drivers require more (leak) fixes and refactoring and > are left untouched. > > > -- > David Marchand > > Changes since v3: > - added fix on vdpa/nfp, > > Changes since v2: > - moved ifpga interruption allocation, > > Changes since v1: > - dropped all changes on DPAA and FSLMC bus, > - added one more cleanup on the first patch, > - changed coding style in rte_vdev_init, > - implemented explicit .free_device instead of hack for calling free(), > - reordered interrupt handle allocation in VMBUS bus, > > > David Marchand (12): > bus: fix reference to plug callback > dma/idxd: remove next pointer in bus specific device > bus/vdev: remove driver setting in probe > vdpa/nfp: fix double PCI unmap on unplug > bus/pci: fix mapping leak in bus cleanup > bus/vmbus: fix interrupt leak in cleanup > bus/vmbus: allocate interrupt during probing > bus/ifpga: allocate interrupt during probing > bus: align unplug with device probe > bus: implement cleanup in EAL > bus/vmbus: store name in bus specific device > bus/vmbus: support unplug > > doc/guides/prog_guide/device_hotplug.rst | 20 +++--- > doc/guides/rel_notes/release_26_07.rst | 4 ++ > drivers/bus/auxiliary/auxiliary_common.c | 54 +++------------ > drivers/bus/cdx/cdx.c | 29 ++------ > drivers/bus/dpaa/dpaa_bus.c | 4 +- > drivers/bus/fslmc/fslmc_bus.c | 9 +-- > drivers/bus/ifpga/ifpga_bus.c | 88 ++++++++---------------- > drivers/bus/pci/pci_common.c | 68 +++--------------- > drivers/bus/platform/platform.c | 26 ++----- > drivers/bus/uacce/uacce.c | 59 +++------------- > drivers/bus/vdev/vdev.c | 76 ++++++++------------ > drivers/bus/vmbus/bus_vmbus_driver.h | 1 + > drivers/bus/vmbus/linux/vmbus_bus.c | 16 +---- > drivers/bus/vmbus/vmbus_common.c | 58 +++++++++------- > drivers/dma/idxd/idxd_bus.c | 1 - > drivers/vdpa/nfp/nfp_vdpa.c | 4 +- > lib/eal/common/eal_common_bus.c | 33 ++++++++- > lib/eal/common/eal_common_dev.c | 10 +-- > lib/eal/include/bus_driver.h | 51 +++++++++----- > 19 files changed, 235 insertions(+), 376 deletions(-)
Series applied, thanks for the reviews. -- David Marchand

