From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrew Rybchenko Subject: Re: [PATCH] ethdev: fixed device info get issue Date: Tue, 15 May 2018 11:41:55 +0300 Message-ID: References: <20180515161057.89505-1-qiming.yang@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; format=flowed Content-Transfer-Encoding: 7bit Cc: To: Qiming Yang , Return-path: In-Reply-To: <20180515161057.89505-1-qiming.yang@intel.com> Content-Language: en-GB List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" On 05/15/2018 07:10 PM, Qiming Yang wrote: > This patch fixed error function call order in rte_eth_dev_configure. > This wrong order makes user can't get correct device informations, > and cause DCB configure issue. > > Fixes: 3be82f5cc5e3 ("ethdev: support PMD-tuned Tx/Rx parameters") > > Signed-off-by: Qiming Yang > --- > lib/librte_ethdev/rte_ethdev.c | 6 +++--- > 1 file changed, 3 insertions(+), 3 deletions(-) > > diff --git a/lib/librte_ethdev/rte_ethdev.c b/lib/librte_ethdev/rte_ethdev.c > index b3ed821..97316f3 100644 > --- a/lib/librte_ethdev/rte_ethdev.c > +++ b/lib/librte_ethdev/rte_ethdev.c > @@ -1053,6 +1053,9 @@ rte_eth_dev_configure(uint16_t port_id, uint16_t nb_rx_q, uint16_t nb_tx_q, > RTE_FUNC_PTR_OR_ERR_RET(*dev->dev_ops->dev_infos_get, -ENOTSUP); > RTE_FUNC_PTR_OR_ERR_RET(*dev->dev_ops->dev_configure, -ENOTSUP); > > + /* Copy the dev_conf parameter into the dev structure */ > + memcpy(&dev->data->dev_conf, &local_conf, sizeof(dev->data->dev_conf)); > + > rte_eth_dev_info_get(port_id, &dev_info); > > /* If number of queues specified by application for both Rx and Tx is > @@ -1098,9 +1101,6 @@ rte_eth_dev_configure(uint16_t port_id, uint16_t nb_rx_q, uint16_t nb_tx_q, > rte_eth_convert_rx_offload_bitfield( > &dev_conf->rxmode, &local_conf.rxmode.offloads); > > - /* Copy the dev_conf parameter into the dev structure */ > - memcpy(&dev->data->dev_conf, &local_conf, sizeof(dev->data->dev_conf)); > - As I understand the goal of this copy is to pickup offloads fill in done three lines above. The patch breaks it. > /* > * Check that the numbers of RX and TX queues are not greater > * than the maximum number of RX and TX queues supported by the