On Mon, Dec 16, 2019 at 09:05:59AM +0800, Yunjian Wang wrote:
> The function eth_dev_vhost_create() could return errors,
> the return value need to be checked.
>
> Fixes: ee584e9710b9 ("vhost: add driver on top of the library")
> Cc: [email protected]
>
> Signed-off-by: Yunjian Wang <[email protected]>
> ---
> drivers/net/vhost/rte_eth_vhost.c | 6 ++++--
> 1 file changed, 4 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/net/vhost/rte_eth_vhost.c
> b/drivers/net/vhost/rte_eth_vhost.c
> index 46f01a7..7e4faf2 100644
> --- a/drivers/net/vhost/rte_eth_vhost.c
> +++ b/drivers/net/vhost/rte_eth_vhost.c
> @@ -1455,8 +1455,10 @@ struct vhost_xstats_name_off {
> if (dev->device.numa_node == SOCKET_ID_ANY)
> dev->device.numa_node = rte_socket_id();
>
> - eth_dev_vhost_create(dev, iface_name, queues, dev->device.numa_node,
> - flags, disable_flags);
> + ret = eth_dev_vhost_create(dev, iface_name, queues,
> + dev->device.numa_node, flags, disable_flags);
> + if (ret == -1)
> + VHOST_LOG(ERR, "Failed to create %s", name);
This will set "ret" to port id on success,
but we shouldn't return port id in probe.
>
> out_free:
> rte_kvargs_free(kvlist);
> --
> 1.8.3.1
>
>