Commit fa2bf86b authored by Tal Gilboa's avatar Tal Gilboa Committed by Saeed Mahameed

net/mlx5e: Cancel DIM work on close SQ

TXQ SQ closure is followed by closing the corresponding CQ. A pending
DIM work would try to modify the now non-existing CQ.
This would trigger an error:
[85535.835926] mlx5_core 0000:af:00.0: mlx5_cmd_check:769:(pid 124399):
MODIFY_CQ(0x403) op_mod(0x0) failed, status bad resource state(0x9), syndrome (0x1d7771)

Fix by making sure to cancel any pending DIM work before destroying the SQ.

Fixes: cbce4f44 ("net/mlx5e: Enable adaptive-TX moderation")
Signed-off-by: default avatarTal Gilboa <talgi@mellanox.com>
Reviewed-by: default avatarTariq Toukan <tariqt@mellanox.com>
Signed-off-by: default avatarSaeed Mahameed <saeedm@mellanox.com>
parent d13b224f
...@@ -1401,6 +1401,7 @@ static void mlx5e_close_txqsq(struct mlx5e_txqsq *sq) ...@@ -1401,6 +1401,7 @@ static void mlx5e_close_txqsq(struct mlx5e_txqsq *sq)
struct mlx5_core_dev *mdev = c->mdev; struct mlx5_core_dev *mdev = c->mdev;
struct mlx5_rate_limit rl = {0}; struct mlx5_rate_limit rl = {0};
cancel_work_sync(&sq->dim.work);
mlx5e_destroy_sq(mdev, sq->sqn); mlx5e_destroy_sq(mdev, sq->sqn);
if (sq->rate_limit) { if (sq->rate_limit) {
rl.rate = sq->rate_limit; rl.rate = sq->rate_limit;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment