afu_dev->id.uuid.uuid_high = 0;
afu_dev->id.port = afu_pr_conf.afu_id.port;
+ /* Allocate interrupt instance */
+ afu_dev->intr_handle =
+ rte_intr_instance_alloc(RTE_INTR_INSTANCE_F_PRIVATE);
+ if (afu_dev->intr_handle == NULL) {
+ IFPGA_BUS_ERR("Failed to allocate intr handle");
+ goto end;
+ }
+
if (rawdev->dev_ops && rawdev->dev_ops->dev_info_get)
rawdev->dev_ops->dev_info_get(rawdev, afu_dev, sizeof(*afu_dev));
rte_kvargs_free(kvlist);
if (path)
free(path);
- if (afu_dev)
+ if (afu_dev) {
+ rte_intr_instance_free(afu_dev->intr_handle);
free(afu_dev);
+ }
return NULL;
}
TAILQ_REMOVE(&ifpga_afu_dev_list, afu_dev, next);
rte_devargs_remove(dev->devargs);
+ rte_intr_instance_free(afu_dev->intr_handle);
free(afu_dev);
return 0;