[PATCH 19.11] net/ixgbe: fix port initialization if MTU config fails
Christian Ehrhardt
christian.ehrhardt at canonical.com
Wed Dec 1 16:38:47 CET 2021
On Wed, Dec 1, 2021 at 12:10 PM Tudor Cornea <tudor.cornea at gmail.com> wrote:
>
> [ upstream commit 2108930be123ab83c837e7dd6eb3078ec3482ad4 ]
>
Thanks, applied
> On a VMware ESXi 6.0 setup with an Intel 82599 NIC the ports don't
> seem to initialize anymore, while running testpmd.
>
> Configuring Port 0 (socket 0)
> ixgbevf_dev_rx_init(): Set max packet length to 1518 failed.
> ixgbevf_dev_start(): Unable to initialize RX hardware (-22)
> Fail to start port 0: Invalid argument
> Configuring Port 1 (socket 0)
> ixgbevf_dev_rx_init(): Set max packet length to 1518 failed.
> ixgbevf_dev_start(): Unable to initialize RX hardware (-22)
> Fail to start port 1: Invalid argument
> Please stop the ports first
>
> If the call to ixgbevf_rlpml_set_vf fails and we return prematurely,
> we will not be able to initialize the ports correctly.
>
> Fixes: c77866a16904 ("net/ixgbe: detect failed VF MTU set")
>
> We can make this particular use case work correctly if we don't
> return an error, which seems to be consistent with the overall
> kernel ixgbevf implementation.
>
> [1]
> https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/
> drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c?h=v5.14#n2015
>
> Signed-off-by: Tudor Cornea <tudor.cornea at gmail.com>
> ---
> drivers/net/ixgbe/ixgbe_rxtx.c | 4 +---
> 1 file changed, 1 insertion(+), 3 deletions(-)
>
> diff --git a/drivers/net/ixgbe/ixgbe_rxtx.c b/drivers/net/ixgbe/ixgbe_rxtx.c
> index ed36a33..26b49a2 100644
> --- a/drivers/net/ixgbe/ixgbe_rxtx.c
> +++ b/drivers/net/ixgbe/ixgbe_rxtx.c
> @@ -5545,11 +5545,9 @@ ixgbevf_dev_rx_init(struct rte_eth_dev *dev)
> * VF packets received can work in all cases.
> */
> if (ixgbevf_rlpml_set_vf(hw,
> - (uint16_t)dev->data->dev_conf.rxmode.max_rx_pkt_len)) {
> + (uint16_t)dev->data->dev_conf.rxmode.max_rx_pkt_len))
> PMD_INIT_LOG(ERR, "Set max packet length to %d failed.",
> dev->data->dev_conf.rxmode.max_rx_pkt_len);
> - return -EINVAL;
> - }
>
> /*
> * Assume no header split and no VLAN strip support
> --
> 2.7.4
>
--
Christian Ehrhardt
Staff Engineer, Ubuntu Server
Canonical Ltd
More information about the stable
mailing list