Patch "net/mlx5: Wait for FW readiness before initializing command interface" has been added to the 4.11-stable tree
Subsystems (3)
This is a note to let you know that I've just added the patch titled
net/mlx5: Wait for FW readiness before initializing command interface
to the 4.11-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary
The filename of the patch is:
net-mlx5-wait-for-fw-readiness-before-initializing-command-interface.patch
and it can be found in the queue-4.11 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.
Quoted 1 line
From foo@baz Thu Jun 29 18:58:00 CEST 2017
From: Eli Cohen <[email protected]>
Date: Thu, 8 Jun 2017 11:33:16 -0500
Subject: net/mlx5: Wait for FW readiness before initializing command interface
From: Eli Cohen <[email protected]>
[ Upstream commit 6c780a0267b8a1075f40b39851132eeaefefcff5 ]
Before attempting to initialize the command interface we must wait till the fw_initializing bit is clear.
If we fail to meet this condition the hardware will drop our configuration, specifically the descriptors page address. This scenario can happen when the firmware is still executing an FLR flow and did not finish yet so the driver needs to wait for that to finish.
--- drivers/net/ethernet/mellanox/mlx5/core/main.c | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-)
drivers/net/ethernet/mellanox/mlx5/core/main.c +12 -2
@@ -175,8 +175,9 @@ static struct mlx5_profile profile[] = { }, }; -#define FW_INIT_TIMEOUT_MILI 2000 -#define FW_INIT_WAIT_MS 2 +#define FW_INIT_TIMEOUT_MILI 2000 +#define FW_INIT_WAIT_MS 2 +#define FW_PRE_INIT_TIMEOUT_MILI 10000static int wait_fw_init (struct mlx5_core_dev *dev,u32 max_wait_mili) {
@@ -1021,6 +1022,15 @@ static int mlx5_load_one(struct mlx5_cor*/ dev->state =MLX5_DEVICE_STATE_UP ; +/* wait for firmware to accept initialization segments configurations +*/ + err =wait_fw_init (dev,FW_PRE_INIT_TIMEOUT_MILI ); +if (err) { +dev_err (&dev->pdev->dev,"Firmware over %d MS in pre-initializing state, aborting\n" , +FW_PRE_INIT_TIMEOUT_MILI ); + goto out; + } + err =mlx5_cmd_init (dev);if (err) {dev_err (&pdev->dev,"Failed initializing command interface, aborting\n" );
Patches currently in stable-queue which might be from [email protected] are
queue-4.11/net-mlx5-wait-for-fw-readiness-before-initializing-command-interface.patch