Lines Matching refs:recv

1845 static bool generate_unmatched_resp(struct ib_mad_private *recv,
1848 if (recv->mad.mad.mad_hdr.method == IB_MGMT_METHOD_GET ||
1849 recv->mad.mad.mad_hdr.method == IB_MGMT_METHOD_SET) {
1850 memcpy(response, recv, sizeof *response);
1857 if (recv->mad.mad.mad_hdr.mgmt_class == IB_MGMT_CLASS_SUBN_DIRECTED_ROUTE)
1870 struct ib_mad_private *recv, *response = NULL;
1882 recv = container_of(mad_priv_hdr, struct ib_mad_private, header);
1884 recv->header.mapping,
1890 recv->header.wc = *wc;
1891 recv->header.recv_wc.wc = &recv->header.wc;
1892 recv->header.recv_wc.mad_len = sizeof(struct ib_mad);
1893 recv->header.recv_wc.recv_buf.mad = &recv->mad.mad;
1894 recv->header.recv_wc.recv_buf.grh = &recv->grh;
1897 snoop_recv(qp_info, &recv->header.recv_wc, IB_MAD_SNOOP_RECVS);
1900 if (!validate_mad(&recv->mad.mad, qp_info->qp->qp_num))
1915 if (recv->mad.mad.mad_hdr.mgmt_class ==
1919 if (smi_handle_dr_smp_recv(&recv->mad.smp,
1926 retsmi = smi_check_forward_dr_smp(&recv->mad.smp);
1931 if (smi_handle_dr_smp_send(&recv->mad.smp,
1936 if (smi_check_local_smp(&recv->mad.smp, port_priv->device) == IB_SMI_DISCARD)
1940 memcpy(response, recv, sizeof(*response));
1948 smi_get_fwd_port(&recv->mad.smp),
1960 wc, &recv->grh,
1961 &recv->mad.mad,
1968 &recv->grh, wc,
1977 mad_agent = find_mad_agent(port_priv, &recv->mad.mad);
1979 ib_mad_complete_recv(mad_agent, &recv->header.recv_wc);
1981 * recv is freed up in error cases in ib_mad_complete_recv
1984 recv = NULL;
1986 generate_unmatched_resp(recv, response)) {
1987 agent_send_response(&response->mad.mad, &recv->grh, wc,
1995 if (recv)
1996 kmem_cache_free(ib_mad_cache, recv);
1998 ib_mad_post_receive_mads(qp_info, recv);
2632 struct ib_mad_private *recv;
2645 recv = container_of(mad_priv_hdr, struct ib_mad_private,
2652 recv->header.mapping,
2656 kmem_cache_free(ib_mad_cache, recv);