[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <ygnho8g3gprp.fsf@nvidia.com>
Date: Mon, 1 Mar 2021 11:57:30 +0200
From: Vlad Buslov <vladbu@...dia.com>
To: Arnd Bergmann <arnd@...nel.org>, Saeed Mahameed <saeedm@...dia.com>
CC: Leon Romanovsky <leon@...nel.org>,
"David S. Miller" <davem@...emloft.net>,
Jakub Kicinski <kuba@...nel.org>,
Dmytro Linkin <dlinkin@...dia.com>,
Roi Dayan <roid@...dia.com>, Arnd Bergmann <arnd@...db.de>,
Eli Britstein <elibr@...lanox.com>,
Eli Cohen <eli@...lanox.com>, <netdev@...r.kernel.org>,
<linux-rdma@...r.kernel.org>, <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH] net/mlx5e: fix mlx5e_tc_tun_update_header_ipv6 dummy
definition
On Thu 25 Feb 2021 at 14:54, Arnd Bergmann <arnd@...nel.org> wrote:
> From: Arnd Bergmann <arnd@...db.de>
>
> The alternative implementation of this function in a header file
> is declared as a global symbol, and gets added to every .c file
> that includes it, which leads to a link error:
>
> arm-linux-gnueabi-ld: drivers/net/ethernet/mellanox/mlx5/core/en_rx.o: in function `mlx5e_tc_tun_update_header_ipv6':
> en_rx.c:(.text+0x0): multiple definition of `mlx5e_tc_tun_update_header_ipv6'; drivers/net/ethernet/mellanox/mlx5/core/en_main.o:en_main.c:(.text+0x0): first defined here
>
> Mark it 'static inline' like the other functions here.
>
> Fixes: c7b9038d8af6 ("net/mlx5e: TC preparation refactoring for routing update event")
> Signed-off-by: Arnd Bergmann <arnd@...db.de>
> ---
> drivers/net/ethernet/mellanox/mlx5/core/en/tc_tun.h | 10 ++++++----
> 1 file changed, 6 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en/tc_tun.h b/drivers/net/ethernet/mellanox/mlx5/core/en/tc_tun.h
> index 67de2bf36861..89d5ca91566e 100644
> --- a/drivers/net/ethernet/mellanox/mlx5/core/en/tc_tun.h
> +++ b/drivers/net/ethernet/mellanox/mlx5/core/en/tc_tun.h
> @@ -76,10 +76,12 @@ int mlx5e_tc_tun_update_header_ipv6(struct mlx5e_priv *priv,
> static inline int
> mlx5e_tc_tun_create_header_ipv6(struct mlx5e_priv *priv,
> struct net_device *mirred_dev,
> - struct mlx5e_encap_entry *e) { return -EOPNOTSUPP; }
> -int mlx5e_tc_tun_update_header_ipv6(struct mlx5e_priv *priv,
> - struct net_device *mirred_dev,
> - struct mlx5e_encap_entry *e)
> + struct mlx5e_encap_entry *e)
> +{ return -EOPNOTSUPP; }
> +static inline int
> +mlx5e_tc_tun_update_header_ipv6(struct mlx5e_priv *priv,
> + struct net_device *mirred_dev,
> + struct mlx5e_encap_entry *e)
> { return -EOPNOTSUPP; }
> #endif
> int mlx5e_tc_tun_route_lookup(struct mlx5e_priv *priv,
Thanks Arnd!
Reviewed-by: Vlad Buslov <vladbu@...dia.com>
Powered by blists - more mailing lists