> This is a followup of the previous bus refactoring. > See > https://inbox.dp/ > dk.org%2Fdev%2FCAJFAV8zvFpLwz8SY8DUUezyJyM43eRZ17Yj30ex808eHC4ZE% > 3Dg%40mail.gmail.com%2F&data=05%7C02%7Clongli%40microsoft.com%7C2b > fea821d6064273513d08dec79e460d%7C72f988bf86f141af91ab2d7cd011db47% > 7C1%7C0%7C639167679756696197%7CUnknown%7CTWFpbGZsb3d8eyJFbXB0e > U1hcGkiOnRydWUsIlYiOiIwLjAuMDAwMCIsIlAiOiJXaW4zMiIsIkFOIjoiTWFpbCIsIl > dUIjoyfQ%3D%3D%7C0%7C%7C%7C&sdata=wW8q%2FAt1AsVp2OHaK3OCLJrJo > ar4KrjdKtf78hnDUyY%3D&reserved=0. > > 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-8) 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) > - Simplified device freeing in NXP buses (DPAA and FSLMC) > - Deferred interrupt allocation to probe time (NXP buses, VMBUS) > > The core infrastructure changes (patches 9-10) 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 > - Adds compile-time verification that rte_device is at offset 0 > > The final patches (11-13) convert remaining buses to use the generic cleanup > helper: > - DPAA bus: add unplug support > - VMBUS bus: switch to embedded device name and add unplug support
There is a hung on vmbus during device shutdown after applying the series, I'm looking into it.

