On 2020-11-01 10:15 PM, Leon Romanovsky wrote:
From: Leon Romanovsky <leo...@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 <leo...@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 <r...@nvidia.com>

Reply via email to