On Tue, Aug 29, 2017 at 11:55:45AM +0300, Raslan Darawsheh wrote: > fs_bus_uninit is always returning 0 no matter what was the status > of each sub device bus_uninit value. > > Fixes: a46f8d58 ("net/failsafe: add fail-safe PMD") > > Signed-off-by: Raslan Darawsheh <rasl...@mellanox.com> > --- > drivers/net/failsafe/failsafe_eal.c | 20 ++++++++++---------- > 1 file changed, 10 insertions(+), 10 deletions(-) > > diff --git a/drivers/net/failsafe/failsafe_eal.c > b/drivers/net/failsafe/failsafe_eal.c > index c8f4318..f6e44ca 100644 > --- a/drivers/net/failsafe/failsafe_eal.c > +++ b/drivers/net/failsafe/failsafe_eal.c > @@ -90,19 +90,21 @@ fs_bus_uninit(struct rte_eth_dev *dev) > { > struct sub_device *sdev = NULL; > uint8_t i; > - int ret; > + int sdev_ret; > + int ret = 0; > > FOREACH_SUBDEV_STATE(sdev, i, dev, DEV_PROBED) { > - ret = rte_eal_hotplug_remove(sdev->bus->name, > - sdev->dev->name); > - if (ret) { > - ERROR("Failed to remove requested device %s", > - sdev->dev->name); > + sdev_ret = rte_eal_hotplug_remove(sdev->bus->name, > + sdev->dev->name); > + if (sdev_ret) { > + ERROR("Failed to remove requested device %s" > + "(errno: %d)", sdev->dev->name, sdev_ret);
The error string should be on one line to help grepping the issue. The code displayed is not errno, it should not be named as such. + ERROR("Failed to remove requested device %s (%d)", + sdev->dev->name, sdev_ret); > + ret = -1; > continue; > } > sdev->state = DEV_PROBED - 1; > } > - return 0; > + return ret; > } > > int > @@ -111,8 +113,6 @@ failsafe_eal_uninit(struct rte_eth_dev *dev) > int ret; > > ret = fs_bus_uninit(dev); > - if (ret) > - return ret; > PRIV(dev)->state = DEV_PROBED - 1; > - return 0; > + return ret; > } > -- > 2.7.4 > Otherwise, Acked-by: Gaetan Rivet <gaetan.ri...@6wind.com> -- Gaëtan Rivet 6WIND