In below sequence, a EQE entry arrives for a CQ which is on the path of
being destroyed.
cpu-0 cpu-1
------ -----
mlx5_core_destroy_cq() mlx5_eq_comp_int()
mlx5_eq_del_cq() [..]
radix_tree_delete() [..]
[..] mlx5_eq_cq_get() /* Didn't find CQ is
* a valid case.
*/
/* destroy CQ in hw */
mlx5_cmd_exec()
This is still a valid scenario and correct delete CQ sequence, as
mirror of the CQ create sequence.
Hence, suppress the non harmful debug message from warn to debug level.
Keep the debug log message rate limited because user application can
trigger it repeatedly.
Signed-off-by: Parav Pandit <parav@mellanox.com>
Signed-off-by: Saeed Mahameed <saeedm@mellanox.com>
cq->comp(cq, eqe);
mlx5_cq_put(cq);
} else {
- mlx5_core_warn(eq->dev, "Completion event for bogus CQ 0x%x\n", cqn);
+ dev_dbg_ratelimited(eq->dev->device,
+ "Completion event for bogus CQ 0x%x\n", cqn);
}
++eq->cons_index;