net/mlx5: Allow async trigger completion execution on single CPU systems
[ Upstream commit 2808b37b59288ad8f1897e3546c2296df3384b65 ]
For a single CPU system, the kernel thread executing mlx5_cmd_flush()
never releases the CPU but calls down_trylock(&cmd→sem) in a busy loop.
On a single processor system, this leads to a deadlock as the kernel
thread which executes mlx5_cmd_invoke() never gets scheduled. Fix this,
by adding the cond_resched() call to the loop, allow the command
completion kernel thread to execute.
Fixes: 8e715cd613a1 ("net/mlx5: Set command entry semaphore up once got index free")
Signed-off-by:
Alexander Schmidt <alexschm@de.ibm.com>
Signed-off-by:
Roy Novich <royno@nvidia.com>
Reviewed-by:
Moshe Shemesh <moshe@nvidia.com>
Signed-off-by:
Saeed Mahameed <saeedm@nvidia.com>
Signed-off-by:
Sasha Levin <sashal@kernel.org>
Loading
Please register or sign in to comment