Signed-off-by: Bernard Iremonger <bernard.iremonger at intel.com> --- drivers/net/bonding/rte_eth_bond_pmd.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/drivers/net/bonding/rte_eth_bond_pmd.c b/drivers/net/bonding/rte_eth_bond_pmd.c index 93043ef..55b37a5 100644 --- a/drivers/net/bonding/rte_eth_bond_pmd.c +++ b/drivers/net/bonding/rte_eth_bond_pmd.c @@ -1651,6 +1651,7 @@ bond_ethdev_stop(struct rte_eth_dev *eth_dev) struct bond_dev_private *internals = eth_dev->data->dev_private; uint8_t i; + rte_spinlock_lock(&internals->lock); if (internals->mode == BONDING_MODE_8023AD) { struct port *port; void *pkt = NULL; @@ -1672,7 +1673,7 @@ bond_ethdev_stop(struct rte_eth_dev *eth_dev) } if (internals->mode == BONDING_MODE_TLB || - internals->mode == BONDING_MODE_ALB) { + internals->mode == BONDING_MODE_ALB) { bond_tlb_disable(internals); for (i = 0; i < internals->active_slave_count; i++) tlb_last_obytets[internals->active_slaves[i]] = 0; @@ -1685,6 +1686,7 @@ bond_ethdev_stop(struct rte_eth_dev *eth_dev) eth_dev->data->dev_link.link_status = ETH_LINK_DOWN; eth_dev->data->dev_started = 0; + rte_spinlock_unlock(&internals->lock); } void -- 2.6.3