[dpdk-dev] [PATCH] net/qede: fix link state configuration

Jerin Jacob jerinjacobk at gmail.com
Wed May 13 18:24:38 CEST 2020


On Tue, May 12, 2020 at 6:16 AM Rasesh Mody <rmody at 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: stable at dpdk.org
>
> Signed-off-by: Shahed Shaikh <shshaikh at marvell.com>
> Signed-off-by: Rasesh Mody <rmody at marvell.com>
> Signed-off-by: Igor Russkikh <irusskikh at 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
>


More information about the dev mailing list