Lines Matching refs:mad_priv

601 	struct ib_mad_private *mad_priv;  in handle_outgoing_dr_smp()  local
679 local->mad_priv = NULL; in handle_outgoing_dr_smp()
681 mad_priv = alloc_mad_private(mad_size, GFP_ATOMIC); in handle_outgoing_dr_smp()
682 if (!mad_priv) { in handle_outgoing_dr_smp()
702 (struct ib_mad *)mad_priv->mad, &mad_size, in handle_outgoing_dr_smp()
706 if (ib_response_mad((const struct ib_mad_hdr *)mad_priv->mad) && in handle_outgoing_dr_smp()
708 local->mad_priv = mad_priv; in handle_outgoing_dr_smp()
716 kfree(mad_priv); in handle_outgoing_dr_smp()
719 kfree(mad_priv); in handle_outgoing_dr_smp()
726 memcpy(mad_priv->mad, smp, mad_priv->mad_size); in handle_outgoing_dr_smp()
728 (const struct ib_mad_hdr *)mad_priv->mad); in handle_outgoing_dr_smp()
735 kfree(mad_priv); in handle_outgoing_dr_smp()
738 local->mad_priv = mad_priv; in handle_outgoing_dr_smp()
742 kfree(mad_priv); in handle_outgoing_dr_smp()
2518 if (local->mad_priv) { in local_completions()
2538 local->mad_priv->header.recv_wc.wc = &wc; in local_completions()
2540 base_version = ((struct ib_mad_hdr *)(local->mad_priv->mad))->base_version; in local_completions()
2542 local->mad_priv->header.recv_wc.mad_len = local->return_wc_byte_len; in local_completions()
2543 local->mad_priv->header.recv_wc.mad_seg_size = sizeof(struct opa_mad); in local_completions()
2545 local->mad_priv->header.recv_wc.mad_len = sizeof(struct ib_mad); in local_completions()
2546 local->mad_priv->header.recv_wc.mad_seg_size = sizeof(struct ib_mad); in local_completions()
2549 INIT_LIST_HEAD(&local->mad_priv->header.recv_wc.rmpp_list); in local_completions()
2550 list_add(&local->mad_priv->header.recv_wc.recv_buf.list, in local_completions()
2551 &local->mad_priv->header.recv_wc.rmpp_list); in local_completions()
2552 local->mad_priv->header.recv_wc.recv_buf.grh = NULL; in local_completions()
2553 local->mad_priv->header.recv_wc.recv_buf.mad = in local_completions()
2554 (struct ib_mad *)local->mad_priv->mad; in local_completions()
2558 &local->mad_priv->header.recv_wc); in local_completions()
2575 kfree(local->mad_priv); in local_completions()
2673 struct ib_mad_private *mad_priv; in ib_mad_post_receive_mads() local
2689 mad_priv = mad; in ib_mad_post_receive_mads()
2692 mad_priv = alloc_mad_private(port_mad_size(qp_info->port_priv), in ib_mad_post_receive_mads()
2694 if (!mad_priv) { in ib_mad_post_receive_mads()
2699 sg_list.length = mad_priv_dma_size(mad_priv); in ib_mad_post_receive_mads()
2701 &mad_priv->grh, in ib_mad_post_receive_mads()
2702 mad_priv_dma_size(mad_priv), in ib_mad_post_receive_mads()
2706 kfree(mad_priv); in ib_mad_post_receive_mads()
2710 mad_priv->header.mapping = sg_list.addr; in ib_mad_post_receive_mads()
2711 mad_priv->header.mad_list.mad_queue = recv_queue; in ib_mad_post_receive_mads()
2712 mad_priv->header.mad_list.cqe.done = ib_mad_recv_done; in ib_mad_post_receive_mads()
2713 recv_wr.wr_cqe = &mad_priv->header.mad_list.cqe; in ib_mad_post_receive_mads()
2718 list_add_tail(&mad_priv->header.mad_list.list, &recv_queue->list); in ib_mad_post_receive_mads()
2723 list_del(&mad_priv->header.mad_list.list); in ib_mad_post_receive_mads()
2727 mad_priv->header.mapping, in ib_mad_post_receive_mads()
2728 mad_priv_dma_size(mad_priv), in ib_mad_post_receive_mads()
2730 kfree(mad_priv); in ib_mad_post_receive_mads()