Lines Matching refs:mc
820 struct cma_multicast *mc; in cma_leave_mc_groups() local
823 mc = container_of(id_priv->mc_list.next, in cma_leave_mc_groups()
825 list_del(&mc->list); in cma_leave_mc_groups()
826 ib_sa_free_multicast(mc->multicast.ib); in cma_leave_mc_groups()
827 kfree(mc); in cma_leave_mc_groups()
2626 struct cma_multicast *mc = multicast->context; in cma_ib_mc_handler() local
2630 id_priv = mc->id_priv; in cma_ib_mc_handler()
2643 event.param.ud.private_data = mc->context; in cma_ib_mc_handler()
2690 struct cma_multicast *mc) in cma_join_ib_multicast() argument
2703 cma_set_mgid(id_priv, (struct sockaddr *) &mc->addr, &rec.mgid); in cma_join_ib_multicast()
2716 mc->multicast.ib = ib_sa_join_multicast(&sa_client, id_priv->id.device, in cma_join_ib_multicast()
2719 cma_ib_mc_handler, mc); in cma_join_ib_multicast()
2720 if (IS_ERR(mc->multicast.ib)) in cma_join_ib_multicast()
2721 return PTR_ERR(mc->multicast.ib); in cma_join_ib_multicast()
2730 struct cma_multicast *mc; in rdma_join_multicast() local
2738 mc = kmalloc(sizeof *mc, GFP_KERNEL); in rdma_join_multicast()
2739 if (!mc) in rdma_join_multicast()
2742 memcpy(&mc->addr, addr, ip_addr_size(addr)); in rdma_join_multicast()
2743 mc->context = context; in rdma_join_multicast()
2744 mc->id_priv = id_priv; in rdma_join_multicast()
2747 list_add(&mc->list, &id_priv->mc_list); in rdma_join_multicast()
2752 ret = cma_join_ib_multicast(id_priv, mc); in rdma_join_multicast()
2761 list_del(&mc->list); in rdma_join_multicast()
2763 kfree(mc); in rdma_join_multicast()
2772 struct cma_multicast *mc; in rdma_leave_multicast() local
2776 list_for_each_entry(mc, &id_priv->mc_list, list) { in rdma_leave_multicast()
2777 if (!memcmp(&mc->addr, addr, ip_addr_size(addr))) { in rdma_leave_multicast()
2778 list_del(&mc->list); in rdma_leave_multicast()
2783 &mc->multicast.ib->rec.mgid, in rdma_leave_multicast()
2784 mc->multicast.ib->rec.mlid); in rdma_leave_multicast()
2785 ib_sa_free_multicast(mc->multicast.ib); in rdma_leave_multicast()
2786 kfree(mc); in rdma_leave_multicast()