From: Leon Romanovsky <leonro@xxxxxxxxxx> Changelog: v1: * Reworked mlx4 to allow non-atomic IB QP event handler. v0: https://lore.kernel.org/linux-rdma/20220907113800.22182-1-phaddad@xxxxxxxxxx/ ------------------------------------------ The following series adds ability to get information about fatal QP events. This functionality is extremely useful for the following reasons: * Provides an information about the reason why QP moved to error state, in cases where CQE isn't generated. * Allows to provide vendor specfic error codes and information that could be very useful to users who know them. An example of a case without CQE is a remote write with RKEY violation. In this flow, on remote side no CQEs are generated and such error without indication is hard to debug. Thanks. Mark Zhang (1): RDMA/mlx: Calling qp event handler in workqueue context Patrisious Haddad (2): net/mlx5: Introduce CQE error syndrome RDMA/mlx5: Print error syndrome in case of fatal QP errors drivers/infiniband/hw/mlx4/main.c | 8 ++ drivers/infiniband/hw/mlx4/mlx4_ib.h | 3 + drivers/infiniband/hw/mlx4/qp.c | 121 +++++++++++------ drivers/infiniband/hw/mlx5/main.c | 7 + drivers/infiniband/hw/mlx5/qp.c | 164 ++++++++++++++++++------ drivers/infiniband/hw/mlx5/qp.h | 4 +- drivers/infiniband/hw/mlx5/qpc.c | 7 +- drivers/net/ethernet/mellanox/mlx4/qp.c | 14 +- include/linux/mlx4/qp.h | 1 + include/linux/mlx5/mlx5_ifc.h | 47 ++++++- include/rdma/ib_verbs.h | 2 +- 11 files changed, 292 insertions(+), 86 deletions(-) -- 2.38.1