eal: fix positive error codes from probe/remove
authorIlya Maximets <i.maximets@samsung.com>
Thu, 6 Jun 2019 10:02:28 +0000 (13:02 +0300)
committerThomas Monjalon <thomas@monjalon.net>
Sat, 29 Jun 2019 19:28:38 +0000 (21:28 +0200)
commit75b66decdbd52948721f5c286244dc1d29d71711
tree5eb3b9d311788db1e967c51d03d239e1bdd6cc8f
parent18218713bf4248c4c6b97a12231e7d59b8a86865
eal: fix positive error codes from probe/remove

According to API, 'rte_dev_probe()' and 'rte_dev_remove()' must
return 0 or negative error code. Bus code returns positive values
if device wasn't recognized by any driver, so the result of
'bus->plug/unplug()' must be converted. 'local_dev_probe()' and
'local_dev_remove()' also has their internal API, so the conversion
should be done there.

Positive on remove means that device not found by driver.
Positive on probe means that there are no suitable buses/drivers,
i.e. device is not supported.

Users of these API fixed to provide a good example by respecting
DPDK API. This also will allow to catch such issues in the future.

Fixes: a3ee360f4440 ("eal: add hotplug add/remove device")
Fixes: 244d5130719c ("eal: enable hotplug on multi-process")
Cc: stable@dpdk.org
Signed-off-by: Ilya Maximets <i.maximets@samsung.com>
Reviewed-by: David Marchand <david.marchand@redhat.com>
app/test-pmd/testpmd.c
drivers/net/failsafe/failsafe.c
drivers/net/failsafe/failsafe_eal.c
drivers/net/failsafe/failsafe_ether.c
drivers/net/vdev_netvsc/vdev_netvsc.c
lib/librte_eal/common/eal_common_dev.c