Lines Matching refs:response

20 		struct smbd_response *response);
25 struct smbd_connection *info, struct smbd_response *response);
28 struct smbd_response *response, int data_length);
34 struct smbd_response *response);
266 static inline void *smbd_response_payload(struct smbd_response *response)
268 return (void *)response->packet;
312 * Process a negotiation response message, according to [MS-SMBD]3.1.5.7
313 * response, packet_length: the negotiation response message
317 struct smbd_response *response, int packet_length)
319 struct smbd_connection *info = response->info;
320 struct smbd_negotiate_resp *packet = smbd_response_payload(response);
391 struct smbd_response *response;
405 response = get_receive_buffer(info);
407 response = get_empty_queue_buffer(info);
408 if (!response) {
417 response->type = SMBD_TRANSFER_DATA;
418 response->first_segment = false;
419 rc = smbd_post_recv(info, response);
423 put_receive_buffer(info, response);
451 struct smbd_response *response =
453 struct smbd_connection *info = response->info;
456 log_rdma_recv(INFO, "response=0x%p type=%d wc status=%d wc opcode %d byte_len=%d pkey_index=%u\n",
457 response, response->type, wc->status, wc->opcode,
469 response->sge.addr,
470 response->sge.length,
473 switch (response->type) {
474 /* SMBD negotiation response */
476 dump_smbd_negotiate_resp(smbd_response_payload(response));
479 process_negotiation_response(response, wc->byte_len);
485 data_transfer = smbd_response_payload(response);
494 response->first_segment = true;
503 response,
506 put_empty_packet(info, response);
530 /* Send a KEEP_ALIVE response right away if requested */
541 "unexpected response type=%d\n", response->type);
545 put_receive_buffer(info, response);
777 * back a response.
1008 struct smbd_connection *info, struct smbd_response *response)
1013 response->sge.addr = ib_dma_map_single(
1014 info->id->device, response->packet,
1016 if (ib_dma_mapping_error(info->id->device, response->sge.addr))
1019 response->sge.length = info->max_receive_size;
1020 response->sge.lkey = info->pd->local_dma_lkey;
1022 response->cqe.done = recv_done;
1024 recv_wr.wr_cqe = &response->cqe;
1026 recv_wr.sg_list = &response->sge;
1031 ib_dma_unmap_single(info->id->device, response->sge.addr,
1032 response->sge.length, DMA_FROM_DEVICE);
1044 struct smbd_response *response = get_receive_buffer(info);
1046 response->type = SMBD_NEGOTIATE_RESP;
1047 rc = smbd_post_recv(info, response);
1049 rc, response->sge.addr,
1050 response->sge.length, response->sge.lkey);
1078 struct smbd_connection *info, struct smbd_response *response)
1081 list_add_tail(&response->list, &info->empty_packet_queue);
1095 * response: the packet received
1100 struct smbd_response *response,
1104 list_add_tail(&response->list, &info->reassembly_queue);
1187 struct smbd_connection *info, struct smbd_response *response)
1191 ib_dma_unmap_single(info->id->device, response->sge.addr,
1192 response->sge.length, DMA_FROM_DEVICE);
1195 list_add_tail(&response->list, &info->receive_queue);
1207 struct smbd_response *response;
1225 response = mempool_alloc(info->response_mempool, GFP_KERNEL);
1226 if (!response)
1229 response->info = info;
1230 list_add_tail(&response->list, &info->receive_queue);
1238 response = list_first_entry(
1241 list_del(&response->list);
1244 mempool_free(response, info->response_mempool);
1251 struct smbd_response *response;
1253 while ((response = get_receive_buffer(info)))
1254 mempool_free(response, info->response_mempool);
1256 while ((response = get_empty_queue_buffer(info)))
1257 mempool_free(response, info->response_mempool);
1291 struct smbd_response *response;
1323 response = _get_first_reassembly(info);
1324 if (response) {
1325 list_del(&response->list);
1328 put_receive_buffer(info, response);
1332 } while (response);
1738 struct smbd_response *response;
1769 response = _get_first_reassembly(info);
1770 data_transfer = smbd_response_payload(response);
1785 if (response->first_segment && size == 4) {
1790 response->first_segment = false;
1810 list_del(&response->list);
1814 list_del(&response->list);
1821 put_receive_buffer(info, response);