[dpdk-stable] [PATCH 17.11] net/bonding: fix possible silent failure in config

Lee Daly lee.daly at intel.com
Fri Nov 30 11:43:13 CET 2018


[ backported from upstream commit 6d72657ce379e159b745be27edcad72ac0266aac]

This patch checks the return value of function
rte_eth_bond_8023ad_agg_selection_set() in bond_ethdev_configure
for error return value.

Signed-off-by: Lee Daly <lee.daly at intel.com>
---
 drivers/net/bonding/rte_eth_bond_pmd.c | 11 +++++++++--
 1 file changed, 9 insertions(+), 2 deletions(-)

diff --git a/drivers/net/bonding/rte_eth_bond_pmd.c b/drivers/net/bonding/rte_eth_bond_pmd.c
index fe23289..60d958b 100644
--- a/drivers/net/bonding/rte_eth_bond_pmd.c
+++ b/drivers/net/bonding/rte_eth_bond_pmd.c
@@ -2910,9 +2910,16 @@ bond_probe(struct rte_vdev_device *dev)
 			goto parse_error;
 		}
 
-		if (internals->mode == BONDING_MODE_8023AD)
-			rte_eth_bond_8023ad_agg_selection_set(port_id,
+		if (internals->mode == BONDING_MODE_8023AD) {
+			int ret = rte_eth_bond_8023ad_agg_selection_set(port_id,
 					agg_mode);
+			if (ret < 0) {
+				RTE_BOND_LOG(ERR,
+					"Invalid args for agg selection set "
+					"for bonded device %s", name);
+				return -1;
+			}
+		}
 	} else {
 		rte_eth_bond_8023ad_agg_selection_set(port_id, AGG_STABLE);
 	}
-- 
2.7.4



More information about the stable mailing list