From 76d90eee5067af81fd116ab25b3ecaf81341e1d7 Mon Sep 17 00:00:00 2001 From: Hans Petter Selasky Date: Thu, 10 Oct 2019 16:04:43 +0000 Subject: [PATCH] MFS r353405: Fix regression issue after r352989: As noted by the commit message, callouts are now persistant and should not be in the auto-zero section of the RQ's and SQ's. This fixes an assert when using the TX completion event factor feature with mlx5en(4). Found by: gallatin@ Sponsored by: Mellanox Technologies Approved by: re (gjb) --- sys/dev/mlx5/mlx5_en/en.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sys/dev/mlx5/mlx5_en/en.h b/sys/dev/mlx5/mlx5_en/en.h index 5225dbd744b..1f0d9290040 100644 --- a/sys/dev/mlx5/mlx5_en/en.h +++ b/sys/dev/mlx5/mlx5_en/en.h @@ -747,6 +747,7 @@ struct mlx5e_rq { /* persistant fields */ struct mtx mtx; struct mlx5e_rq_stats stats; + struct callout watchdog; /* data path */ #define mlx5e_rq_zero_start wq @@ -768,7 +769,6 @@ struct mlx5e_rq { struct mlx5_wq_ctrl wq_ctrl; u32 rqn; struct mlx5e_channel *channel; - struct callout watchdog; } __aligned(MLX5E_CACHELINE_SIZE); struct mlx5e_sq_mbuf { @@ -793,6 +793,7 @@ struct mlx5e_sq { struct mtx lock; struct mtx comp_lock; struct mlx5e_sq_stats stats; + struct callout cev_callout; /* data path */ #define mlx5e_sq_zero_start dma_tag @@ -811,7 +812,6 @@ struct mlx5e_sq { #define MLX5E_CEV_STATE_SEND_NOPS 1 /* send NOPs */ #define MLX5E_CEV_STATE_HOLD_NOPS 2 /* don't send NOPs yet */ u16 running; /* set if SQ is running */ - struct callout cev_callout; union { u32 d32[2]; u64 d64; -- 2.45.0