smb: client: let send_done() cleanup before calling smbd_disconnect_rdma_connection()
authorStefan Metzmacher <metze@samba.org>
Mon, 4 Aug 2025 12:10:12 +0000 (14:10 +0200)
committerSteve French <stfrench@microsoft.com>
Wed, 6 Aug 2025 20:04:13 +0000 (15:04 -0500)
commit5349ae5e05fa37409fd48a1eb483b199c32c889b
tree6d300c99c986a999152be46ea04d036a5970e318
parentb0b73329ebeeb727913f07b5b6bb85e66e03d156
smb: client: let send_done() cleanup before calling smbd_disconnect_rdma_connection()

We should call ib_dma_unmap_single() and mempool_free() before calling
smbd_disconnect_rdma_connection().

And smbd_disconnect_rdma_connection() needs to be the last function to
call as all other state might already be gone after it returns.

Cc: Steve French <smfrench@gmail.com>
Cc: Tom Talpey <tom@talpey.com>
Cc: Long Li <longli@microsoft.com>
Cc: linux-cifs@vger.kernel.org
Cc: samba-technical@lists.samba.org
Fixes: f198186aa9bb ("CIFS: SMBD: Establish SMB Direct connection")
Signed-off-by: Stefan Metzmacher <metze@samba.org>
Signed-off-by: Steve French <stfrench@microsoft.com>
fs/smb/client/smbdirect.c