From: Ivan Ilchenko <ivan.ilche...@oktetlabs.ru>

rte_eth_dev_stop() return value was changed from void to int,
so this patch modify usage of this function across net/failsafe
according to new return type.

Signed-off-by: Ivan Ilchenko <ivan.ilche...@oktetlabs.ru>
Signed-off-by: Andrew Rybchenko <arybche...@solarflare.com>
---

Hello Andrew,

Thanks for doing this. I had some comments, so instead I made a v2.
Changes:

  * Use SUB_ID() instead of PORT_ID() for error reporting.
    The sub-device ID is the one failsafe uses to communicate
    with upper layers (app & user).

  * Run rte_eth_dev_stop() through fs_err() as well.
    Though your implementation of rte_eth_dev_stop() cannot return -EIO
    for the moment, I don't think it is precluded from happening later.

Regards,

 drivers/net/failsafe/failsafe_ether.c | 4 +++-
 drivers/net/failsafe/failsafe_ops.c   | 4 +++-
 2 files changed, 6 insertions(+), 2 deletions(-)

diff --git a/drivers/net/failsafe/failsafe_ether.c 
b/drivers/net/failsafe/failsafe_ether.c
index f18935a7e2..7c6e28dc93 100644
--- a/drivers/net/failsafe/failsafe_ether.c
+++ b/drivers/net/failsafe/failsafe_ether.c
@@ -282,7 +282,9 @@ fs_dev_remove(struct sub_device *sdev)
        switch (sdev->state) {
        case DEV_STARTED:
                failsafe_rx_intr_uninstall_subdevice(sdev);
-               rte_eth_dev_stop(PORT_ID(sdev));
+               ret = rte_eth_dev_stop(PORT_ID(sdev));
+               if (ret < 0)
+                       ERROR("Failed to stop sub-device %u", SUB_ID(sdev));
                sdev->state = DEV_ACTIVE;
                /* fallthrough */
        case DEV_ACTIVE:
diff --git a/drivers/net/failsafe/failsafe_ops.c 
b/drivers/net/failsafe/failsafe_ops.c
index 0ce7dfc8a6..5bcc250b5e 100644
--- a/drivers/net/failsafe/failsafe_ops.c
+++ b/drivers/net/failsafe/failsafe_ops.c
@@ -147,7 +147,9 @@ fs_dev_start(struct rte_eth_dev *dev)
                if (ret) {
                        if (!fs_err(sdev, ret))
                                continue;
-                       rte_eth_dev_stop(PORT_ID(sdev));
+                       if (fs_err(sdev, rte_eth_dev_stop(PORT_ID(sdev))) < 0)
+                               ERROR("Failed to stop sub-device %u",
+                                     SUB_ID(sdev));
                        fs_unlock(dev, 0);
                        return ret;
                }
-- 
2.28.0

Reply via email to