- return -ENODEV;
- rte_eth_dev_callback_unregister(RTE_ETH_ALL, RTE_ETH_EVENT_NEW,
- failsafe_eth_new_event_callback, dev);
- ret = failsafe_eal_uninit(dev);
- if (ret)
- ERROR("Error while uninitializing sub-EAL");
- failsafe_args_free(dev);
- fs_sub_device_free(dev);
- ret = pthread_mutex_destroy(&PRIV(dev)->hotplug_mutex);
- if (ret)
- ERROR("Error while destroying hotplug mutex");
- rte_free(PRIV(dev)->mcast_addrs);
- /* mac_addrs must not be freed alone because part of dev_private */
- dev->data->mac_addrs = NULL;