Lines Matching refs:mad_priv
816 struct ib_mad_private *mad_priv; in handle_outgoing_dr_smp() local
894 local->mad_priv = NULL; in handle_outgoing_dr_smp()
896 mad_priv = alloc_mad_private(mad_size, GFP_ATOMIC); in handle_outgoing_dr_smp()
897 if (!mad_priv) { in handle_outgoing_dr_smp()
917 (struct ib_mad_hdr *)mad_priv->mad, in handle_outgoing_dr_smp()
922 if (ib_response_mad((const struct ib_mad_hdr *)mad_priv->mad) && in handle_outgoing_dr_smp()
924 local->mad_priv = mad_priv; in handle_outgoing_dr_smp()
932 kfree(mad_priv); in handle_outgoing_dr_smp()
935 kfree(mad_priv); in handle_outgoing_dr_smp()
942 memcpy(mad_priv->mad, smp, mad_priv->mad_size); in handle_outgoing_dr_smp()
944 (const struct ib_mad_hdr *)mad_priv->mad); in handle_outgoing_dr_smp()
951 kfree(mad_priv); in handle_outgoing_dr_smp()
954 local->mad_priv = mad_priv; in handle_outgoing_dr_smp()
958 kfree(mad_priv); in handle_outgoing_dr_smp()
2767 if (local->mad_priv) { in local_completions()
2787 local->mad_priv->header.recv_wc.wc = &wc; in local_completions()
2789 base_version = ((struct ib_mad_hdr *)(local->mad_priv->mad))->base_version; in local_completions()
2791 local->mad_priv->header.recv_wc.mad_len = local->return_wc_byte_len; in local_completions()
2792 local->mad_priv->header.recv_wc.mad_seg_size = sizeof(struct opa_mad); in local_completions()
2794 local->mad_priv->header.recv_wc.mad_len = sizeof(struct ib_mad); in local_completions()
2795 local->mad_priv->header.recv_wc.mad_seg_size = sizeof(struct ib_mad); in local_completions()
2798 INIT_LIST_HEAD(&local->mad_priv->header.recv_wc.rmpp_list); in local_completions()
2799 list_add(&local->mad_priv->header.recv_wc.recv_buf.list, in local_completions()
2800 &local->mad_priv->header.recv_wc.rmpp_list); in local_completions()
2801 local->mad_priv->header.recv_wc.recv_buf.grh = NULL; in local_completions()
2802 local->mad_priv->header.recv_wc.recv_buf.mad = in local_completions()
2803 (struct ib_mad *)local->mad_priv->mad; in local_completions()
2806 &local->mad_priv->header.recv_wc, in local_completions()
2811 &local->mad_priv->header.recv_wc); in local_completions()
2832 kfree(local->mad_priv); in local_completions()
2930 struct ib_mad_private *mad_priv; in ib_mad_post_receive_mads() local
2946 mad_priv = mad; in ib_mad_post_receive_mads()
2949 mad_priv = alloc_mad_private(port_mad_size(qp_info->port_priv), in ib_mad_post_receive_mads()
2951 if (!mad_priv) { in ib_mad_post_receive_mads()
2956 sg_list.length = mad_priv_dma_size(mad_priv); in ib_mad_post_receive_mads()
2958 &mad_priv->grh, in ib_mad_post_receive_mads()
2959 mad_priv_dma_size(mad_priv), in ib_mad_post_receive_mads()
2966 mad_priv->header.mapping = sg_list.addr; in ib_mad_post_receive_mads()
2967 mad_priv->header.mad_list.mad_queue = recv_queue; in ib_mad_post_receive_mads()
2968 mad_priv->header.mad_list.cqe.done = ib_mad_recv_done; in ib_mad_post_receive_mads()
2969 recv_wr.wr_cqe = &mad_priv->header.mad_list.cqe; in ib_mad_post_receive_mads()
2974 list_add_tail(&mad_priv->header.mad_list.list, &recv_queue->list); in ib_mad_post_receive_mads()
2979 list_del(&mad_priv->header.mad_list.list); in ib_mad_post_receive_mads()
2983 mad_priv->header.mapping, in ib_mad_post_receive_mads()
2984 mad_priv_dma_size(mad_priv), in ib_mad_post_receive_mads()
2986 kfree(mad_priv); in ib_mad_post_receive_mads()