| 537 | } |
| 538 | |
| 539 | int |
| 540 | rte_eth_dev_owner_unset(const uint16_t port_id, const uint64_t owner_id) |
| 541 | { |
| 542 | const struct rte_eth_dev_owner new_owner = (struct rte_eth_dev_owner) |
| 543 | {.id = RTE_ETH_DEV_NO_OWNER, .name = ""}; |
| 544 | int ret; |
| 545 | |
| 546 | rte_spinlock_lock(rte_mcfg_ethdev_get_lock()); |
| 547 | |
| 548 | if (eth_dev_shared_data_prepare() != NULL) |
| 549 | ret = eth_dev_owner_set(port_id, owner_id, &new_owner); |
| 550 | else |
| 551 | ret = -ENOMEM; |
| 552 | |
| 553 | rte_spinlock_unlock(rte_mcfg_ethdev_get_lock()); |
| 554 | |
| 555 | rte_ethdev_trace_owner_unset(port_id, owner_id, ret); |
| 556 | |
| 557 | return ret; |
| 558 | } |
| 559 | |
| 560 | int |
| 561 | rte_eth_dev_owner_delete(const uint64_t owner_id) |
no test coverage detected