Files
linux/drivers
Ka-Cheong Poon fba97dc7fc RDMA/cm: Spurious WARNING triggered in cm_destroy_id()
If the cm_id state is IB_CM_REP_SENT when cm_destroy_id() is called, it
calls cm_send_rej_locked().

In cm_send_rej_locked(), it calls cm_enter_timewait() and the state is
changed to IB_CM_TIMEWAIT.

Now back to cm_destroy_id(), it breaks from the switch statement, and the
next call is WARN_ON(cm_id->state != IB_CM_IDLE).

This triggers a spurious warning. Instead, the code should goto retest
after returning from cm_send_rej_locked() to move the state to IDLE.

Fixes: 67b3c8dcea ("RDMA/cm: Make sure the cm_id is in the IB_CM_IDLE state in destroy")
Link: https://lore.kernel.org/r/1591191218-9446-1-git-send-email-ka-cheong.poon@oracle.com
Signed-off-by: Ka-Cheong Poon <ka-cheong.poon@oracle.com>
Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
2020-06-03 15:48:18 -03:00
..
2020-03-23 07:59:38 +01:00
2020-04-10 11:32:22 +02:00
2020-04-04 18:07:59 -07:00
2020-04-16 13:52:31 -07:00
2020-03-19 23:04:32 -05:00
2020-06-02 20:32:54 -03:00
2020-05-27 16:05:05 -03:00
2020-04-17 06:05:29 -04:00
2020-04-20 10:19:22 -04:00
2020-03-19 07:41:03 +01:00