[RFC 05/11] bus/fslmc: fix per type device count
David Marchand <[email protected]> Thu, 23 Jul 2026 15:53:53 +0200
| Newsgroups | org.dpdk.dev |
|---|---|
| Message-ID | <[email protected]> |
When blocklisting some device, the per type count was wrong. Signed-off-by: David Marchand <[email protected]> --- drivers/bus/fslmc/fslmc_bus.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/drivers/bus/fslmc/fslmc_bus.c b/drivers/bus/fslmc/fslmc_bus.c index 94685a0f5a..a7ac59173f 100644 --- a/drivers/bus/fslmc/fslmc_bus.c +++ b/drivers/bus/fslmc/fslmc_bus.c @@ -83,11 +83,17 @@ insert_in_device_list(struct rte_dpaa2_device *newdev) if (!inserted) rte_bus_add_device(&rte_fslmc_bus, &newdev->device); + + if (newdev->dev_type < DPAA2_DEVTYPE_MAX) + fslmc_bus_device_count[newdev->dev_type]++; } void fslmc_bus_remove_device(struct rte_dpaa2_device *dev) { + if (dev->dev_type < DPAA2_DEVTYPE_MAX) + fslmc_bus_device_count[dev->dev_type]--; + rte_bus_remove_device(&rte_fslmc_bus, &dev->device); rte_intr_instance_free(dev->intr_handle); free(dev); @@ -195,9 +201,6 @@ scan_one_fslmc_device(char *dev_name) } dev->device.devargs = rte_bus_find_devargs(&rte_fslmc_bus, dev_name); - /* Update the device found into the device_count table */ - fslmc_bus_device_count[dev->dev_type]++; - /* Add device in the fslmc device list */ insert_in_device_list(dev); -- 2.54.0