diff mbox series

[mlx5-next,v1,02/11] net/mlx5: Properly convey driver version to firmware

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

Commit Message

Leon Romanovsky Nov. 1, 2020, 8:15 p.m. UTC
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(-)

--
2.28.0

Comments

Roi Dayan Nov. 2, 2020, 2:47 p.m. UTC | #1
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 mbox series

Patch

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,