struct smbdirect_recv_io *response;
int i;
- INIT_LIST_HEAD(&sc->recv_io.reassembly.list);
- spin_lock_init(&sc->recv_io.reassembly.lock);
- sc->recv_io.reassembly.data_length = 0;
- sc->recv_io.reassembly.queue_length = 0;
-
- INIT_LIST_HEAD(&sc->recv_io.free.list);
- spin_lock_init(&sc->recv_io.free.lock);
info->count_receive_queue = 0;
init_waitqueue_head(&info->wait_receive_queues);
if (!info)
return NULL;
sc = &info->socket;
+ smbdirect_socket_init(sc);
sp = &sc->parameters;
info->initiator_depth = 1;
info->responder_resources = SMBD_CM_RESPONDER_RESOURCES;
- init_waitqueue_head(&sc->status_wait);
-
- sc->status = SMBDIRECT_SOCKET_CREATED;
rc = smbd_ia_open(info, dstaddr, port);
if (rc) {
log_rdma_event(INFO, "smbd_ia_open rc=%d\n", rc);
log_rdma_event(INFO, "connecting to IP %pI4 port %d\n",
&addr_in->sin_addr, port);
- init_waitqueue_head(&sc->recv_io.reassembly.wait_queue);
-
WARN_ON_ONCE(sc->status != SMBDIRECT_SOCKET_RDMA_CONNECT_NEEDED);
sc->status = SMBDIRECT_SOCKET_RDMA_CONNECT_RUNNING;
rc = rdma_connect(sc->rdma.cm_id, &conn_param);