From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-wm0-f66.google.com (mail-wm0-f66.google.com [74.125.82.66]) by dpdk.org (Postfix) with ESMTP id 00DEE29D2 for ; Tue, 1 May 2018 12:47:11 +0200 (CEST) Received: by mail-wm0-f66.google.com with SMTP id i3so18398561wmf.3 for ; Tue, 01 May 2018 03:47:11 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=5jE9vK0LHxZzNwTU4qfiuLh1Jsp7UQKRHgfR0RH0Pi0=; b=hKNf7ArlBeV9Yc5N5u0zJpQXwdBA4wCNS/xCRa49V+N5G01Ob7g19GIhR74jg/rc79 7QyBNG0MmJfJQ3I+zOK9FSP96dkST0OF4UR6Z0S0cmnWGT4IlkG+f10rmsnn7UoBUr5D JUb+Et0cz/iR9x9cNPN69mVyPvFAfUWae6imtZyNTD9q7ZN2NPjYqLuwL+vswq6jQZQS QYscRdWUltFuZlwrzWHHYcDbIPTCquVajPpigiMBFZLbkDsZq+j9VRpiawfGZCbH1hnN +uOXle5LUxPraZU9F4VHW18xUMl9agztb5cPBJ02VF+mMTrFWplh13VsrrSRNibQwzwi kkWw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=5jE9vK0LHxZzNwTU4qfiuLh1Jsp7UQKRHgfR0RH0Pi0=; b=E50hNZ74ByULTe3lGTDxChn9hBqn59kRAD+wNdc0d/d4wV0vtmoGbOJewdkuvdA+fN xkn91byzHSQ86jWEaSy1/ulfJuNjAzMPm9HMJ7oc9XmRNlf6OdWt1JRFCVNeBIq6EU6Z LQzy0iH6jgQUVVlaoW6AJR/K0cahsDJI2I5dUb0QtQInNE+YLzMUbQnmpOXg1hDDda+O ErxeDElrbHLD3aNqxdukghpO9Y2XpELJ+xrAsF4tR2aSAs0pkKBkgRcE2so2TPx8GC3n gyjt5YvbFnlc7bLDB+iqGaPdWHHElHjRLgsnG0H97Qe91EUcISe+dO/YUMq/9ry7hGoi YO9g== X-Gm-Message-State: ALQs6tD3/AhVyze2P67xx0Q47P+OunYnDONdp5ZJfXGySx2/J8JCnoLx 60qT76lXkDDGgq52ieobaJ8= X-Google-Smtp-Source: AB8JxZqxgmbN6HaC8TUWHEVQm/Zx2b6fiQ9EFTTpufNTfOPBqPgn32T8ILJ0hl2f6tijaQT0tOabZg== X-Received: by 10.28.228.133 with SMTP id b127mr9301740wmh.83.1525171631656; Tue, 01 May 2018 03:47:11 -0700 (PDT) Received: from localhost (slip139-92-244-193.lon.uk.prserv.net. [139.92.244.193]) by smtp.gmail.com with ESMTPSA id 141sm1480501wmf.35.2018.05.01.03.47.10 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Tue, 01 May 2018 03:47:10 -0700 (PDT) From: luca.boccassi@gmail.com To: Chas Williams Cc: Radu Nicolau , dpdk stable Date: Tue, 1 May 2018 11:44:47 +0100 Message-Id: <20180501104509.17238-24-luca.boccassi@gmail.com> X-Mailer: git-send-email 2.14.2 In-Reply-To: <20180501104509.17238-1-luca.boccassi@gmail.com> References: <20180501104509.17238-1-luca.boccassi@gmail.com> Subject: [dpdk-stable] patch 'net/bonding: clear started state if start fails' has been queued to LTS release 16.11.7 X-BeenThere: stable@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches for DPDK stable branches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 01 May 2018 10:47:12 -0000 Hi, FYI, your patch has been queued to LTS release 16.11.7 Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet. It will be pushed if I get no objections before 05/03/18. So please shout if anyone has objections. Thanks. Luca Boccassi --- >>From a4bdf8949710c843e368a81b66b818fe0c690f5b Mon Sep 17 00:00:00 2001 From: Chas Williams Date: Fri, 23 Mar 2018 13:05:32 -0400 Subject: [PATCH] net/bonding: clear started state if start fails [ upstream commit 85d3c09a0f40740ca64556522fed1b3bb5aa6167 ] There are several error paths where the bonding device may not start. Clear dev_started before we return if we take one of these paths. Fixes: 2efb58cbab6e ("bond: new link bonding library") Signed-off-by: Chas Williams Acked-by: Radu Nicolau --- drivers/net/bonding/rte_eth_bond_pmd.c | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/drivers/net/bonding/rte_eth_bond_pmd.c b/drivers/net/bonding/rte_eth_bond_pmd.c index c1ec3aa43..6f8931ef9 100644 --- a/drivers/net/bonding/rte_eth_bond_pmd.c +++ b/drivers/net/bonding/rte_eth_bond_pmd.c @@ -1525,7 +1525,7 @@ bond_ethdev_start(struct rte_eth_dev *eth_dev) if (internals->slave_count == 0) { RTE_BOND_LOG(ERR, "Cannot start port since there are no slave devices"); - return -1; + goto out_err; } if (internals->user_defined_mac == 0) { @@ -1536,18 +1536,18 @@ bond_ethdev_start(struct rte_eth_dev *eth_dev) new_mac_addr = &internals->slaves[i].persisted_mac_addr; if (new_mac_addr == NULL) - return -1; + goto out_err; if (mac_address_set(eth_dev, new_mac_addr) != 0) { RTE_BOND_LOG(ERR, "bonded port (%d) failed to update MAC address", eth_dev->data->port_id); - return -1; + goto out_err; } } /* Update all slave devices MACs*/ if (mac_address_slaves_update(eth_dev) != 0) - return -1; + goto out_err; /* If bonded device is configure in promiscuous mode then re-apply config */ if (internals->promiscuous_en) @@ -1560,7 +1560,7 @@ bond_ethdev_start(struct rte_eth_dev *eth_dev) RTE_BOND_LOG(ERR, "bonded port (%d) failed to reconfigure slave device (%d)", eth_dev->data->port_id, internals->slaves[i].port_id); - return -1; + goto out_err; } /* We will need to poll for link status if any slave doesn't * support interrupts @@ -1568,6 +1568,7 @@ bond_ethdev_start(struct rte_eth_dev *eth_dev) if (internals->slaves[i].link_status_poll_enabled) internals->link_status_polling_enabled = 1; } + /* start polling if needed */ if (internals->link_status_polling_enabled) { rte_eal_alarm_set( @@ -1587,6 +1588,10 @@ bond_ethdev_start(struct rte_eth_dev *eth_dev) bond_tlb_enable(internals); return 0; + +out_err: + eth_dev->data->dev_started = 0; + return -1; } static void -- 2.14.2