Message ID | 20201101201542.2027568-3-leon@kernel.org (mailing list archive) |
---|---|
State | Not Applicable |
Delegated to: | Netdev Maintainers |
Headers | show |
Series | [mlx5-next,v1,01/11] net/mlx5: Don't skip vport check | expand |
On 2020-11-01 10:15 PM, Leon Romanovsky wrote: > From: Leon Romanovsky <leonro@nvidia.com> > > mlx5 firmware expects driver version in specific format X.X.X, so > make it always correct and based on real kernel version aligned with > the driver. > > Fixes: 012e50e109fd ("net/mlx5: Set driver version into firmware") > Signed-off-by: Leon Romanovsky <leonro@nvidia.com> > --- > drivers/net/ethernet/mellanox/mlx5/core/main.c | 6 +++++- > 1 file changed, 5 insertions(+), 1 deletion(-) > > diff --git a/drivers/net/ethernet/mellanox/mlx5/core/main.c b/drivers/net/ethernet/mellanox/mlx5/core/main.c > index 8ff207aa1479..71e210f22f69 100644 > --- a/drivers/net/ethernet/mellanox/mlx5/core/main.c > +++ b/drivers/net/ethernet/mellanox/mlx5/core/main.c > @@ -50,6 +50,7 @@ > #ifdef CONFIG_RFS_ACCEL > #include <linux/cpu_rmap.h> > #endif > +#include <linux/version.h> > #include <net/devlink.h> > #include "mlx5_core.h" > #include "lib/eq.h" > @@ -233,7 +234,10 @@ static void mlx5_set_driver_version(struct mlx5_core_dev *dev) > strncat(string, ",", remaining_size); > > remaining_size = max_t(int, 0, driver_ver_sz - strlen(string)); > - strncat(string, DRIVER_VERSION, remaining_size); > + > + snprintf(string + strlen(string), remaining_size, "%u.%u.%u", > + (u8)(LINUX_VERSION_CODE >> 16), (u8)(LINUX_VERSION_CODE >> 8), > + (u16)(LINUX_VERSION_CODE & 0xff)); > > /*Send the command*/ > MLX5_SET(set_driver_version_in, in, opcode, > -- > 2.28.0 > Reviewed-by: Roi Dayan <roid@nvidia.com>
diff --git a/drivers/net/ethernet/mellanox/mlx5/core/main.c b/drivers/net/ethernet/mellanox/mlx5/core/main.c index 8ff207aa1479..71e210f22f69 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/main.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/main.c @@ -50,6 +50,7 @@ #ifdef CONFIG_RFS_ACCEL #include <linux/cpu_rmap.h> #endif +#include <linux/version.h> #include <net/devlink.h> #include "mlx5_core.h" #include "lib/eq.h" @@ -233,7 +234,10 @@ static void mlx5_set_driver_version(struct mlx5_core_dev *dev) strncat(string, ",", remaining_size); remaining_size = max_t(int, 0, driver_ver_sz - strlen(string)); - strncat(string, DRIVER_VERSION, remaining_size); + + snprintf(string + strlen(string), remaining_size, "%u.%u.%u", + (u8)(LINUX_VERSION_CODE >> 16), (u8)(LINUX_VERSION_CODE >> 8), + (u16)(LINUX_VERSION_CODE & 0xff)); /*Send the command*/ MLX5_SET(set_driver_version_in, in, opcode,