}
static struct smbdirect_send_io
-*smb_direct_alloc_sendmsg(struct smb_direct_transport *t)
+*smb_direct_alloc_sendmsg(struct smbdirect_socket *sc)
{
- struct smbdirect_socket *sc = &t->socket;
struct smbdirect_send_io *msg;
msg = mempool_alloc(sc->send_io.mem.pool, KSMBD_DEFAULT_GFP);
return msg;
}
-static void smb_direct_free_sendmsg(struct smb_direct_transport *t,
+static void smb_direct_free_sendmsg(struct smbdirect_socket *sc,
struct smbdirect_send_io *msg)
{
- struct smbdirect_socket *sc = &t->socket;
int i;
if (msg->num_sge > 0) {
static void send_done(struct ib_cq *cq, struct ib_wc *wc)
{
struct smbdirect_send_io *sendmsg, *sibling;
- struct smb_direct_transport *t;
struct smbdirect_socket *sc;
struct list_head *pos, *prev, *end;
sendmsg = container_of(wc->wr_cqe, struct smbdirect_send_io, cqe);
sc = sendmsg->socket;
- t = container_of(sc, struct smb_direct_transport, socket);
ksmbd_debug(RDMA, "Send completed. status='%s (%d)', opcode=%d\n",
ib_wc_status_msg(wc->status), wc->status,
for (pos = &sendmsg->sibling_list, prev = pos->prev, end = sendmsg->sibling_list.next;
prev != end; pos = prev, prev = prev->prev) {
sibling = container_of(pos, struct smbdirect_send_io, sibling_list);
- smb_direct_free_sendmsg(t, sibling);
+ smb_direct_free_sendmsg(sc, sibling);
}
sibling = container_of(pos, struct smbdirect_send_io, sibling_list);
- smb_direct_free_sendmsg(t, sibling);
+ smb_direct_free_sendmsg(sc, sibling);
}
static int manage_credits_prior_sending(struct smb_direct_transport *t)
wake_up(&sc->send_io.credits.wait_queue);
list_for_each_entry_safe(first, last, &send_ctx->msg_list,
sibling_list) {
- smb_direct_free_sendmsg(t, first);
+ smb_direct_free_sendmsg(sc, first);
}
}
return ret;
int header_length;
int ret;
- sendmsg = smb_direct_alloc_sendmsg(t);
+ sendmsg = smb_direct_alloc_sendmsg(sc);
if (IS_ERR(sendmsg))
return PTR_ERR(sendmsg);
DMA_TO_DEVICE);
ret = ib_dma_mapping_error(sc->ib.dev, sendmsg->sge[0].addr);
if (ret) {
- smb_direct_free_sendmsg(t, sendmsg);
+ smb_direct_free_sendmsg(sc, sendmsg);
return ret;
}
goto err;
return 0;
err:
- smb_direct_free_sendmsg(t, msg);
+ smb_direct_free_sendmsg(sc, msg);
atomic_inc(&sc->send_io.credits.count);
return ret;
}
struct smbdirect_negotiate_resp *resp;
int ret;
- sendmsg = smb_direct_alloc_sendmsg(t);
+ sendmsg = smb_direct_alloc_sendmsg(sc);
if (IS_ERR(sendmsg))
return -ENOMEM;
DMA_TO_DEVICE);
ret = ib_dma_mapping_error(sc->ib.dev, sendmsg->sge[0].addr);
if (ret) {
- smb_direct_free_sendmsg(t, sendmsg);
+ smb_direct_free_sendmsg(sc, sendmsg);
return ret;
}
ret = post_sendmsg(t, NULL, sendmsg);
if (ret) {
- smb_direct_free_sendmsg(t, sendmsg);
+ smb_direct_free_sendmsg(sc, sendmsg);
return ret;
}