Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
openSUSE:Leap:42.2:Ports
dpdk
0012-bonding-do-not-activate-slave-twice.patch
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File 0012-bonding-do-not-activate-slave-twice.patch of Package dpdk
From 7a7122edf1c8d63e516d1b2c2eff6fa9b54e0f82 Mon Sep 17 00:00:00 2001 From: Eric Kinzie <ekinzie@brocade.com> Date: Tue, 1 Mar 2016 09:32:02 -0800 Subject: [PATCH] bonding: do not activate slave twice The current code for detecting link during slave addition can cause a slave interface to be activated twice -- once during slave_configure() and again at the end of __eth_bond_slave_add_lock_free(). This will either cause the active slave count to be incorrect or will cause the 802.3ad activation function to panic. Ensure that the interface is not activated more than once. Fixes: 46fb43683679 ("bond: add mode 4") Signed-off-by: Eric Kinzie <ekinzie@brocade.com> Signed-off-by: Stephen Hemminger <stephen@networkplumber.org> Acked-by: Declan Doherty <declan.doherty@intel.com> --- drivers/net/bonding/rte_eth_bond_api.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/drivers/net/bonding/rte_eth_bond_api.c b/drivers/net/bonding/rte_eth_bond_api.c index 5292ae1..c6c0ed8 100644 --- a/drivers/net/bonding/rte_eth_bond_api.c +++ b/drivers/net/bonding/rte_eth_bond_api.c @@ -424,7 +424,11 @@ __eth_bond_slave_add_lock_free(uint8_t bonded_port_id, uint8_t slave_port_id) !internals->user_defined_primary_port) bond_ethdev_primary_set(internals, slave_port_id); - activate_slave(bonded_eth_dev, slave_port_id); + + if (find_slave_by_id(internals->active_slaves, + internals->active_slave_count, + slave_port_id) == internals->active_slave_count) + activate_slave(bonded_eth_dev, slave_port_id); } } return 0; -- 2.6.2
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor