[dpdk-dev] [PATCH v2] net/failsafe: check eth dev stop status
Gaetan Rivet
grive at u256.net
Thu Oct 15 12:37:50 CEST 2020
From: Ivan Ilchenko <Ivan.Ilchenko at 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.Ilchenko at oktetlabs.ru>
Signed-off-by: Andrew Rybchenko <arybchenko at 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
More information about the dev
mailing list