From: Yunjian Wang <wangyunj...@huawei.com> The fd is possibly a negative value while it is passed as an argument to function "close". Fix the check to the fd.
Fixes: b9c94167904f ("bus/dpaa: decouple FQ portal alloc and init") Cc: sta...@dpdk.org Signed-off-by: Yunjian Wang <wangyunj...@huawei.com> --- drivers/bus/dpaa/base/qbman/qman_driver.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/bus/dpaa/base/qbman/qman_driver.c b/drivers/bus/dpaa/base/qbman/qman_driver.c index 1166d68e2..1bff0bc2f 100644 --- a/drivers/bus/dpaa/base/qbman/qman_driver.c +++ b/drivers/bus/dpaa/base/qbman/qman_driver.c @@ -142,7 +142,7 @@ struct qman_portal *fsl_qman_fq_portal_create(int *fd) struct qm_portal_config *q_pcfg; struct dpaa_ioctl_irq_map irq_map; struct dpaa_ioctl_portal_map q_map = {0}; - int q_fd = 0, ret; + int q_fd = -1, ret; q_pcfg = kzalloc((sizeof(struct qm_portal_config)), 0); if (!q_pcfg) { @@ -191,7 +191,7 @@ struct qman_portal *fsl_qman_fq_portal_create(int *fd) err: if (portal) qman_free_global_portal(portal); - if (q_fd) + if (q_fd != -1) close(q_fd); process_portal_unmap(&q_map.addr); kfree(q_pcfg); -- 2.23.0