When starting failsafe with mac option, and giving it an invalid MAC. It
will cause a segmentation fault due to the hotplug_alarm installed on an
invalid subdev.

Fixes: a46f8d58 ("net/failsafe: add fail-safe PMD")
Signed-off-by: Raslan Darawsheh <rasl...@mellanox.com>
---
 drivers/net/failsafe/failsafe.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/drivers/net/failsafe/failsafe.c b/drivers/net/failsafe/failsafe.c
index 5e7a8ba..3a747c2 100644
--- a/drivers/net/failsafe/failsafe.c
+++ b/drivers/net/failsafe/failsafe.c
@@ -226,7 +226,7 @@ fs_eth_dev_create(struct rte_vdev_device *vdev)
                                                               mac);
                        if (ret) {
                                ERROR("Failed to set default MAC address");
-                               goto free_args;
+                               goto cancel_alarm;
                        }
                }
        } else {
@@ -260,6 +260,8 @@ fs_eth_dev_create(struct rte_vdev_device *vdev)
                .type = RTE_INTR_HANDLE_EXT,
        };
        return 0;
+cancel_alarm:
+       failsafe_hotplug_alarm_cancel(dev);
 free_args:
        failsafe_args_free(dev);
 free_subs:
-- 
2.7.4

Reply via email to