X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2Fplugins%2Favf%2Fdevice.c;h=a08a952dd04aec2024d9c3695b47903e6b962165;hb=02ff5f7ce08a13477ffaae5c413a0de6aac68afd;hp=c73cf1e1e68a913ec823bf9c0bca9c30bb2e06c0;hpb=00dfe54eec347bea779c861b0a1de59ab7680aa8;p=vpp.git diff --git a/src/plugins/avf/device.c b/src/plugins/avf/device.c index c73cf1e1e68..a08a952dd04 100644 --- a/src/plugins/avf/device.c +++ b/src/plugins/avf/device.c @@ -1075,7 +1075,14 @@ avf_create_if (vlib_main_t * vm, avf_create_if_args_t * args) ad->flags |= AVF_DEVICE_F_ELOG; if ((error = vlib_pci_device_open (&args->addr, avf_pci_device_ids, &h))) - goto error; + { + pool_put (am->devices, ad); + args->rv = VNET_API_ERROR_INVALID_INTERFACE; + args->error = + clib_error_return (error, "pci-addr %U", format_vlib_pci_addr, + &args->addr); + return; + } ad->pci_dev_handle = h; vlib_pci_set_private_data (h, ad->dev_instance);