From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tony Lu Subject: Re: [PATCH 3/3] driver/net/mpipe: fix a mpipe link initialization ordering issue Date: Fri, 8 Jan 2016 11:08:35 +0800 Message-ID: <003401d149c1$ed3e3d90$c7bab8b0$@com> References: <1450193851-9100-1-git-send-email-lsun@ezchip.com> <1450193851-9100-4-git-send-email-lsun@ezchip.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: 'Liming Sun' , Return-path: Received: from emea01-am1-obe.outbound.protection.outlook.com (mail-am1on0100.outbound.protection.outlook.com [157.56.112.100]) by dpdk.org (Postfix) with ESMTP id D7B439A8F for ; Fri, 8 Jan 2016 04:09:02 +0100 (CET) In-Reply-To: <1450193851-9100-4-git-send-email-lsun@ezchip.com> Content-Language: zh-cn 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" >-----Original Message----- >From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Liming Sun >Sent: Tuesday, December 15, 2015 11:38 PM >To: dev@dpdk.org >Subject: [dpdk-dev] [PATCH 3/3] driver/net/mpipe: fix a mpipe link initialization >ordering issue > >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 >--- > drivers/net/mpipe/mpipe_tilegx.c | 14 +++++++------- > 1 files 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.7.1 Acked-by: Zhigang Lu