On Wed, Nov 17, 2021 at 12:21:14PM +0100, Haris Iqbal wrote: > On Sun, Nov 14, 2021 at 7:12 AM Leon Romanovsky <leon@xxxxxxxxxx> wrote: > > > > On Thu, Nov 11, 2021 at 05:25:11PM +0100, Haris Iqbal wrote: > > > Hi, > > > > > > We are experiencing a hang while using RTRS with softROCE and > > > transitioning the network interface down using ifdown command. > > > > > > Steps. > > > 1) Map an RNBD/RTRS device through softROCE port. > > > 2) Once mapped, transition the eth interface to down (on which the > > > softROCE interface was created) using command "ifconfig <ethx> down", > > > or "ip link set <ethx> down". > > > 3) The device errors out, and one can see RTRS connection errors in > > > dmesg. So far so good. > > > 4) After a while, we see task hung traces in dmesg. <...> > We think one of the below questions is the problem, > > 1. why cm_process_send_error was triggered only for 1 of 3 sent dreq? > Why the cm_send_handler is not called for others? > 2. When RTRS receives an error and starts closing the network, during > which rdma_disconnect is called, shouldnt cm_alloc_msg fail in such a > case? I don't know answer for first question, but for the second one, the answer is no. The properly performed disconnect request involves DREQ and DREP messages which are needed to be sent with cm_alloc_msg(). IBTA 12.10.8 COMMUNICATION RELEASE Thanks