dpaa2_qdma_remove() checked the return value of rte_dma_pmd_release()
and logged an error on failure, but then unconditionally returned 0,
hiding the failure from fslmc_bus_unplug() and any higher-level
caller. A device-cleanup failure was silently swallowed.
Return the actual error code so that callers can detect and handle
removal failures correctly.
Fixes: 8caf8427f85a ("dma/dpaa2: introduce driver skeleton")
Bugzilla ID: 1914
Cc: [email protected]
Cc: [email protected]
Signed-off-by: Md Shofiqul Islam <[email protected]>
---
drivers/dma/dpaa2/dpaa2_qdma.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/dma/dpaa2/dpaa2_qdma.c b/drivers/dma/dpaa2/dpaa2_qdma.c
index beca464c72..f7d94bb799 100644
--- a/drivers/dma/dpaa2/dpaa2_qdma.c
+++ b/drivers/dma/dpaa2/dpaa2_qdma.c
@@ -1739,7 +1739,7 @@ dpaa2_qdma_remove(struct rte_dpaa2_device *dpaa2_dev)
if (ret)
DPAA2_QDMA_ERR("Device cleanup failed");
- return 0;
+ return ret;
}
static struct rte_dpaa2_driver rte_dpaa2_qdma_pmd;
--
2.54.0.windows.1