diff mbox series

net/mlx5e: fix mlx5e_tc_tun_update_header_ipv6 dummy definition

Message ID 20210225125501.1792072-1-arnd@kernel.org
State New
Headers show
Series net/mlx5e: fix mlx5e_tc_tun_update_header_ipv6 dummy definition | expand

Commit Message

Arnd Bergmann Feb. 25, 2021, 12:54 p.m. UTC
From: Arnd Bergmann <arnd@arndb.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@arndb.de>

---
 drivers/net/ethernet/mellanox/mlx5/core/en/tc_tun.h | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

-- 
2.29.2

Comments

Vlad Buslov March 1, 2021, 9:57 a.m. UTC | #1
On Thu 25 Feb 2021 at 14:54, Arnd Bergmann <arnd@kernel.org> wrote:
> From: Arnd Bergmann <arnd@arndb.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@arndb.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@nvidia.com>
Saeed Mahameed March 2, 2021, 6:30 a.m. UTC | #2
On Mon, 2021-03-01 at 11:57 +0200, Vlad Buslov wrote:
> On Thu 25 Feb 2021 at 14:54, Arnd Bergmann <arnd@kernel.org> wrote:
> > From: Arnd Bergmann <arnd@arndb.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@arndb.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@nvidia.com>

Applied to net-mlx5, 

Thanks.
diff mbox series

Patch

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,