[PATCH v20 02/27] net/dpaa: fix probe success when FMC init fails

Hemant Agrawal hemant.agrawal at nxp.com
Mon Oct 5 10:53:12 CEST 2026


dpaa_dev_init() jumped to the free_rx cleanup label without setting ret
when dpaa_port_fmc_init() failed:

	if (num_rx_fqs < 0) {
		DPAA_PMD_ERR("%s FMC initializes failed!", dpaa_intf->name);
		goto free_rx;
	}

ret is still 0 from its initializer at that point, so free_rx returned
success and the port was probed with no Rx queues at all. The adjacent
"not configured by FMC" case already sets -ENODEV before the same goto.

Propagate the error from dpaa_port_fmc_init() instead, and clear
num_rx_fqs so the cleanup path does not use the negative count when
releasing the CGRID range.

Fixes: f5fe3eed51d2 ("net/dpaa: support FMC parser for VSP")
Cc: stable at dpdk.org

Signed-off-by: Hemant Agrawal <hemant.agrawal at nxp.com>
---
 drivers/net/dpaa/dpaa_ethdev.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/drivers/net/dpaa/dpaa_ethdev.c b/drivers/net/dpaa/dpaa_ethdev.c
index a5b02cc9a8..834476bd8a 100644
--- a/drivers/net/dpaa/dpaa_ethdev.c
+++ b/drivers/net/dpaa/dpaa_ethdev.c
@@ -2259,6 +2259,8 @@ dpaa_dev_init(struct rte_eth_dev *eth_dev)
 		if (num_rx_fqs < 0) {
 			DPAA_PMD_ERR("%s FMC initializes failed!",
 				dpaa_intf->name);
+			ret = num_rx_fqs;
+			num_rx_fqs = 0;
 			goto free_rx;
 		}
 		if (!num_rx_fqs) {
-- 
2.25.1



More information about the dev mailing list