Lines Matching refs:recv
1927 static bool generate_unmatched_resp(struct ib_mad_private *recv, in generate_unmatched_resp() argument
1930 if (recv->mad.mad.mad_hdr.method == IB_MGMT_METHOD_GET || in generate_unmatched_resp()
1931 recv->mad.mad.mad_hdr.method == IB_MGMT_METHOD_SET) { in generate_unmatched_resp()
1932 memcpy(response, recv, sizeof *response); in generate_unmatched_resp()
1939 if (recv->mad.mad.mad_hdr.mgmt_class == IB_MGMT_CLASS_SUBN_DIRECTED_ROUTE) in generate_unmatched_resp()
1952 struct ib_mad_private *recv, *response = NULL; in ib_mad_recv_done_handler() local
1964 recv = container_of(mad_priv_hdr, struct ib_mad_private, header); in ib_mad_recv_done_handler()
1966 recv->header.mapping, in ib_mad_recv_done_handler()
1972 recv->header.wc = *wc; in ib_mad_recv_done_handler()
1973 recv->header.recv_wc.wc = &recv->header.wc; in ib_mad_recv_done_handler()
1974 recv->header.recv_wc.mad_len = sizeof(struct ib_mad); in ib_mad_recv_done_handler()
1975 recv->header.recv_wc.recv_buf.mad = &recv->mad.mad; in ib_mad_recv_done_handler()
1976 recv->header.recv_wc.recv_buf.grh = &recv->grh; in ib_mad_recv_done_handler()
1979 snoop_recv(qp_info, &recv->header.recv_wc, IB_MAD_SNOOP_RECVS); in ib_mad_recv_done_handler()
1982 if (!validate_mad(&recv->mad.mad, qp_info->qp->qp_num)) in ib_mad_recv_done_handler()
1997 if (recv->mad.mad.mad_hdr.mgmt_class == in ib_mad_recv_done_handler()
2001 if (smi_handle_dr_smp_recv(&recv->mad.smp, in ib_mad_recv_done_handler()
2008 retsmi = smi_check_forward_dr_smp(&recv->mad.smp); in ib_mad_recv_done_handler()
2013 if (smi_handle_dr_smp_send(&recv->mad.smp, in ib_mad_recv_done_handler()
2018 if (smi_check_local_smp(&recv->mad.smp, port_priv->device) == IB_SMI_DISCARD) in ib_mad_recv_done_handler()
2022 memcpy(response, recv, sizeof(*response)); in ib_mad_recv_done_handler()
2030 smi_get_fwd_port(&recv->mad.smp), in ib_mad_recv_done_handler()
2042 wc, &recv->grh, in ib_mad_recv_done_handler()
2043 &recv->mad.mad, in ib_mad_recv_done_handler()
2050 &recv->grh, wc, in ib_mad_recv_done_handler()
2059 mad_agent = find_mad_agent(port_priv, &recv->mad.mad); in ib_mad_recv_done_handler()
2061 ib_mad_complete_recv(mad_agent, &recv->header.recv_wc); in ib_mad_recv_done_handler()
2066 recv = NULL; in ib_mad_recv_done_handler()
2068 generate_unmatched_resp(recv, response)) { in ib_mad_recv_done_handler()
2069 agent_send_response(&response->mad.mad, &recv->grh, wc, in ib_mad_recv_done_handler()
2077 if (recv) in ib_mad_recv_done_handler()
2078 kmem_cache_free(ib_mad_cache, recv); in ib_mad_recv_done_handler()
2080 ib_mad_post_receive_mads(qp_info, recv); in ib_mad_recv_done_handler()
2720 struct ib_mad_private *recv; in cleanup_recv_queue() local
2733 recv = container_of(mad_priv_hdr, struct ib_mad_private, in cleanup_recv_queue()
2740 recv->header.mapping, in cleanup_recv_queue()
2744 kmem_cache_free(ib_mad_cache, recv); in cleanup_recv_queue()