net/mlx4: fix returned values upon failed probing

Let error messages in place, but return unambiguous values upon
probing errors.

Fixes: 66e1591687 ("mlx4: avoid init errors when kernel modules are not loaded")
Cc: stable@dpdk.org

Signed-off-by: Gaetan Rivet <gaetan.rivet@6wind.com>
Acked-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
This commit is contained in:
Gaetan Rivet 2017-03-28 16:13:11 +02:00 committed by Ferruh Yigit
parent edad38fcd0
commit 9e09761b43

View File

@ -5524,10 +5524,8 @@ mlx4_pci_probe(struct rte_pci_driver *pci_drv, struct rte_pci_device *pci_dev)
list = ibv_get_device_list(&i);
if (list == NULL) {
assert(errno);
if (errno == ENOSYS) {
WARN("cannot list devices, is ib_uverbs loaded?");
return 0;
}
if (errno == ENOSYS)
ERROR("cannot list devices, is ib_uverbs loaded?");
return -errno;
}
assert(i >= 0);
@ -5559,11 +5557,11 @@ mlx4_pci_probe(struct rte_pci_driver *pci_drv, struct rte_pci_device *pci_dev)
ibv_free_device_list(list);
switch (err) {
case 0:
WARN("cannot access device, is mlx4_ib loaded?");
return 0;
ERROR("cannot access device, is mlx4_ib loaded?");
return -ENODEV;
case EINVAL:
WARN("cannot use device, are drivers up to date?");
return 0;
ERROR("cannot use device, are drivers up to date?");
return -EINVAL;
}
assert(err > 0);
return -err;