The variable cdx_addr is a stack-allocated zero-initialized char array, but
it is never used anywhere except in an error handler to stand it as a
device bus address for a VFIO device release call. This is incorrect, as it
should have been actual device address, so fix the code to reflect that.
Fixes: 45ef232af515 ("bus/cdx: introduce AMD CDX bus")
Cc: [email protected]
Cc: [email protected]
Signed-off-by: Anatoly Burakov <[email protected]>
---
drivers/bus/cdx/cdx_vfio.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/drivers/bus/cdx/cdx_vfio.c b/drivers/bus/cdx/cdx_vfio.c
index a3cf53b6a6..11fe3265d2 100644
--- a/drivers/bus/cdx/cdx_vfio.c
+++ b/drivers/bus/cdx/cdx_vfio.c
@@ -485,7 +485,6 @@ static int
cdx_vfio_map_resource_secondary(struct rte_cdx_device *dev)
{
struct vfio_device_info device_info = { .argsz = sizeof(device_info) };
- char cdx_addr[PATH_MAX] = {0};
int vfio_dev_fd;
int i, ret;
struct mapped_cdx_resource *vfio_res = NULL;
@@ -536,7 +535,7 @@ cdx_vfio_map_resource_secondary(struct rte_cdx_device *dev)
return 0;
err_vfio_dev_fd:
- rte_vfio_release_device(RTE_CDX_BUS_DEVICES_PATH, cdx_addr,
vfio_dev_fd);
+ rte_vfio_release_device(RTE_CDX_BUS_DEVICES_PATH, dev_name,
vfio_dev_fd);
return -1;
}
--
2.47.3