IB/cm: Cancel mad on the DREQ event when the state is MRA_REP_RCVD
authorMark Zhang <markzhang@nvidia.com>
Mon, 4 Apr 2022 08:58:05 +0000 (11:58 +0300)
committerJason Gunthorpe <jgg@nvidia.com>
Mon, 4 Apr 2022 13:32:02 +0000 (10:32 -0300)
commit107dd7beba403a363adfeb3ffe3734fe38a05cce
treeb6fd53abdf5eaa6d473a20cab90b904b027ce8fe
parent1d735eeee63a0beb65180ca0224f239cc0c9f804
IB/cm: Cancel mad on the DREQ event when the state is MRA_REP_RCVD

On the passive side when the disconnectReq event comes, if the current
state is MRA_REP_RCVD, it needs to cancel the MAD before entering the
DREQ_RCVD and TIMEWAIT states, otherwise the destroy_id may block until
this mad will reach timeout.

Fixes: a977049dacde ("[PATCH] IB: Add the kernel CM implementation")
Link: https://lore.kernel.org/r/75261c00c1d82128b1d981af9ff46e994186e621.1649062436.git.leonro@nvidia.com
Signed-off-by: Mark Zhang <markzhang@nvidia.com>
Reviewed-by: Maor Gottlieb <maorg@nvidia.com>
Signed-off-by: Leon Romanovsky <leonro@nvidia.com>
Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
drivers/infiniband/core/cm.c