[dpdk-stable] [dpdk-dev] [PATCH 1/1] net/nfp: fix set_mac_addr

Alejandro Lucero alejandro.lucero at netronome.com
Sun Mar 10 12:42:08 CET 2019


On Fri, Mar 8, 2019 at 3:41 PM Pablo Cascón <pablo.cascon at netronome.com>
wrote:

> Some firmwares, mostly for VFs, do not advertise the feature /
> capability of changing the MAC address while the interface is up. With
> such firmware a request to change the MAC address that at the same
> time also tries to enable the not available feature will be denied by
> the firmware resulting in an error message like:
>
> nfp_net_reconfig(): Error nfp_net reconfig for ctrl: 80000000 update: 800
>
> Fix set_mac_addr by not trying to enable a feature if it is not
> advertised by the firmware.
>
> Fixes: 2fe669f4bcd2 ("net/nfp: support MAC address change")
>
> Signed-off-by: Pablo Cascón <pablo.cascon at netronome.com>
> ---
>  drivers/net/nfp/nfp_net.c | 5 ++++-
>  1 file changed, 4 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/net/nfp/nfp_net.c b/drivers/net/nfp/nfp_net.c
> index 54c6da9..278e154 100644
> --- a/drivers/net/nfp/nfp_net.c
> +++ b/drivers/net/nfp/nfp_net.c
> @@ -566,7 +566,10 @@ nfp_set_mac_addr(struct rte_eth_dev *dev, struct
> ether_addr *mac_addr)
>
>         /* Signal the NIC about the change */
>         update = NFP_NET_CFG_UPDATE_MACADDR;
> -       ctrl = hw->ctrl | NFP_NET_CFG_CTRL_LIVE_ADDR;
> +       ctrl = hw->ctrl;
> +       if ((hw->ctrl & NFP_NET_CFG_CTRL_ENABLE) &&
> +           (hw->cap & NFP_NET_CFG_CTRL_LIVE_ADDR))
> +               ctrl |= NFP_NET_CFG_CTRL_LIVE_ADDR;
>         if (nfp_net_reconfig(hw, ctrl, update) < 0) {
>                 PMD_INIT_LOG(INFO, "MAC address update failed");
>                 return -EIO;
> --
> 2.7.4
>
>
Acked-by: Alejandro Lucero <alejandro.lucero at netronome.com>


More information about the stable mailing list