From: Rohit Raj <rohit....@nxp.com>

The current state of the DPIO object should be checked
before trying to close/disable the object.

Fixes: 293c0ca94c36 ("bus/fslmc: support memory backed portals with QBMAN 5.0")
Cc: sta...@dpdk.org

Signed-off-by: Rohit Raj <rohit....@nxp.com>
---
 drivers/bus/fslmc/portal/dpaa2_hw_dpio.c | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/drivers/bus/fslmc/portal/dpaa2_hw_dpio.c 
b/drivers/bus/fslmc/portal/dpaa2_hw_dpio.c
index 97be76116..b0055b164 100644
--- a/drivers/bus/fslmc/portal/dpaa2_hw_dpio.c
+++ b/drivers/bus/fslmc/portal/dpaa2_hw_dpio.c
@@ -528,8 +528,13 @@ dpaa2_create_dpio_device(int vdev_fd,
 
 err:
        if (dpio_dev->dpio) {
-               dpio_disable(dpio_dev->dpio, CMD_PRI_LOW, dpio_dev->token);
-               dpio_close(dpio_dev->dpio, CMD_PRI_LOW,  dpio_dev->token);
+               if (dpio_dev->token) {
+                       dpio_disable(dpio_dev->dpio, CMD_PRI_LOW,
+                                    dpio_dev->token);
+                       dpio_close(dpio_dev->dpio, CMD_PRI_LOW,
+                                  dpio_dev->token);
+               }
+
                rte_free(dpio_dev->eqresp);
                rte_free(dpio_dev->dpio);
        }
-- 
2.17.1

Reply via email to