<div dir="ltr">Thanks, applied</div><br><div class="gmail_quote gmail_quote_container"><div dir="ltr" class="gmail_attr">On Tue, Jul 8, 2025 at 12:20 PM zhengbing.huang &lt;<a href="mailto:zhengbing.huang@easystack.cn">zhengbing.huang@easystack.cn</a>&gt; wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">In the dtr_send() function, if the __dtr_post_tx_desc() return an error,<br>
it means that  ib_post_send() has failed.<br>
Then, we cannot get this tx_desc and release it through ib_poll_cq().<br>
<br>
So, we need to release this tx_desc when __dtr_post_tx_desc() fails in<br>
dtr_send() function.<br>
<br>
Signed-off-by: zhengbing.huang &lt;<a href="mailto:zhengbing.huang@easystack.cn" target="_blank">zhengbing.huang@easystack.cn</a>&gt;<br>
---<br>
 drbd/drbd_transport_rdma.c | 3 +++<br>
 1 file changed, 3 insertions(+)<br>
<br>
diff --git a/drbd/drbd_transport_rdma.c b/drbd/drbd_transport_rdma.c<br>
index 6de0ba625..5270e503a 100644<br>
--- a/drbd/drbd_transport_rdma.c<br>
+++ b/drbd/drbd_transport_rdma.c<br>
@@ -581,6 +581,9 @@ static int dtr_send(struct dtr_path *path, void *buf, size_t size, gfp_t gfp_mas<br>
                { .stream = ST_FLOW_CTRL, .sequence = 0 };<br>
<br>
        err = __dtr_post_tx_desc(cm, tx_desc);<br>
+       if (err)<br>
+               dtr_free_tx_desc(cm, tx_desc);<br>
+<br>
 out_put:<br>
        kref_put(&amp;cm-&gt;kref, dtr_destroy_cm);<br>
 out:<br>
-- <br>
2.43.0<br>
<br>
</blockquote></div>