From mboxrd@z Thu Jan 1 00:00:00 1970 From: Liming Sun Subject: [PATCH v2 3/3] driver/net/mpipe: fix a mpipe link initialization ordering issue Date: Fri, 8 Jan 2016 09:30:38 -0500 Message-ID: <1452263438-21634-3-git-send-email-lsun@ezchip.com> References: <1450193851-9100-4-git-send-email-lsun@ezchip.com> <1452263438-21634-1-git-send-email-lsun@ezchip.com> Mime-Version: 1.0 Content-Type: text/plain To: Return-path: Received: from EUR01-VE1-obe.outbound.protection.outlook.com (mail-ve1eur01on0055.outbound.protection.outlook.com [104.47.1.55]) by dpdk.org (Postfix) with ESMTP id 6E4728E9E for ; Fri, 8 Jan 2016 15:30:52 +0100 (CET) In-Reply-To: <1452263438-21634-1-git-send-email-lsun@ezchip.com> List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" Mpipe link structure is initialized in function mpipe_link_init(). Currently it's only called from the eth_dev_ops.dev_start, which caused crashes when link mgmt APIs (like promiscuous_enable) was called before eth_dev_ops.dev_start(). This submit fixed it by calling mpipe_link_init() in rte_pmd_mpipe_devinit(). Signed-off-by: Liming Sun Acked-by: Zhigang Lu --- drivers/net/mpipe/mpipe_tilegx.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/drivers/net/mpipe/mpipe_tilegx.c b/drivers/net/mpipe/mpipe_tilegx.c index be7b6f2..5845511 100644 --- a/drivers/net/mpipe/mpipe_tilegx.c +++ b/drivers/net/mpipe/mpipe_tilegx.c @@ -752,13 +752,6 @@ mpipe_init(struct mpipe_dev_priv *priv) if (priv->initialized) return 0; - rc = mpipe_link_init(priv); - if (rc < 0) { - RTE_LOG(ERR, PMD, "%s: Failed to init link.\n", - mpipe_name(priv)); - return rc; - } - rc = mpipe_recv_init(priv); if (rc < 0) { RTE_LOG(ERR, PMD, "%s: Failed to init rx.\n", @@ -1633,6 +1626,13 @@ rte_pmd_mpipe_devinit(const char *ifname, eth_dev->rx_pkt_burst = &mpipe_recv_pkts; eth_dev->tx_pkt_burst = &mpipe_xmit_pkts; + rc = mpipe_link_init(priv); + if (rc < 0) { + RTE_LOG(ERR, PMD, "%s: Failed to init link.\n", + mpipe_name(priv)); + return rc; + } + return 0; } -- 1.8.3.1