On Tue, May 12, 2020 at 6:16 AM Rasesh Mody <rm...@marvell.com> wrote: > > Move link state enable/disable to dev_start() and dev_stop() > respectively. This will ensure when devices are stopped, > link status will be appropriately shown as down. > > Fixes: dd28bc8c6ef4 ("net/qede: fix VF port creation sequence")
I assume you need this patch for -rc3. Please rebase the patch to dpdk-next-net-mrvl and send v2. log: git am -3 /tmp/to_merge/net-qede-fix-link-state-configuration Applying: net/qede: fix link state configuration error: sha1 information is lacking or useless (drivers/net/qede/qede_ethdev.c). error: could not build fake ancestor Patch failed at 0001 net/qede: fix link state configuration hint: Use 'git am --show-current-patch=diff' to see the failed patch When you have resolved this problem, run "git am --continue". If you prefer to skip this patch, run "git am --skip" instead. To restore the original branch and stop patching, run "git am --abort". HEAD is now at a8b8a8631 node: fix arm64 build with old gcc git am failed /tmp/g//net-qede-fix-link-state-configuration Wed 13 May 2020 09:51:26 PM IST > Cc: sta...@dpdk.org > > Signed-off-by: Shahed Shaikh <shsha...@marvell.com> > Signed-off-by: Rasesh Mody <rm...@marvell.com> > Signed-off-by: Igor Russkikh <irussk...@marvell.com> > --- > drivers/net/qede/qede_ethdev.c | 14 +++++++++----- > 1 file changed, 9 insertions(+), 5 deletions(-) > > diff --git a/drivers/net/qede/qede_ethdev.c b/drivers/net/qede/qede_ethdev.c > index bcd8252d9..9a5847076 100644 > --- a/drivers/net/qede/qede_ethdev.c > +++ b/drivers/net/qede/qede_ethdev.c > @@ -1150,6 +1150,9 @@ static int qede_dev_start(struct rte_eth_dev *eth_dev) > if (qede_activate_vport(eth_dev, true)) > goto err; > > + /* Bring-up the link */ > + qede_dev_set_link_state(eth_dev, true); > + > /* Update link status */ > qede_link_update(eth_dev, 0); > > @@ -1179,6 +1182,12 @@ static void qede_dev_stop(struct rte_eth_dev *eth_dev) > */ > qede_assign_rxtx_handlers(eth_dev, true); > > + /* Bring the link down */ > + qede_dev_set_link_state(eth_dev, false); > + > + /* Update link status */ > + qede_link_update(eth_dev, 0); > + > /* Disable vport */ > if (qede_activate_vport(eth_dev, false)) > return; > @@ -1563,8 +1572,6 @@ static void qede_dev_close(struct rte_eth_dev *eth_dev) > eth_dev->data->nb_rx_queues = 0; > eth_dev->data->nb_tx_queues = 0; > > - /* Bring the link down */ > - qede_dev_set_link_state(eth_dev, false); > qdev->ops->common->slowpath_stop(edev); > qdev->ops->common->remove(edev); > rte_intr_disable(&pci_dev->intr_handle); > @@ -2671,9 +2678,6 @@ static int qede_common_dev_init(struct rte_eth_dev > *eth_dev, bool is_vf) > > eth_dev->dev_ops = (is_vf) ? &qede_eth_vf_dev_ops : &qede_eth_dev_ops; > > - /* Bring-up the link */ > - qede_dev_set_link_state(eth_dev, true); > - > adapter->num_tx_queues = 0; > adapter->num_rx_queues = 0; > SLIST_INIT(&adapter->arfs_info.arfs_list_head); > -- > 2.18.0 >