Lines Matching refs:mcast
2687 struct ib_uverbs_mcast_entry *mcast; in ib_uverbs_attach_mcast() local
2700 list_for_each_entry(mcast, &obj->mcast_list, list) in ib_uverbs_attach_mcast()
2701 if (cmd.mlid == mcast->lid && in ib_uverbs_attach_mcast()
2702 !memcmp(cmd.gid, mcast->gid.raw, sizeof mcast->gid.raw)) { in ib_uverbs_attach_mcast()
2707 mcast = kmalloc(sizeof *mcast, GFP_KERNEL); in ib_uverbs_attach_mcast()
2708 if (!mcast) { in ib_uverbs_attach_mcast()
2713 mcast->lid = cmd.mlid; in ib_uverbs_attach_mcast()
2714 memcpy(mcast->gid.raw, cmd.gid, sizeof mcast->gid.raw); in ib_uverbs_attach_mcast()
2716 ret = ib_attach_mcast(qp, &mcast->gid, cmd.mlid); in ib_uverbs_attach_mcast()
2718 list_add_tail(&mcast->list, &obj->mcast_list); in ib_uverbs_attach_mcast()
2720 kfree(mcast); in ib_uverbs_attach_mcast()
2736 struct ib_uverbs_mcast_entry *mcast; in ib_uverbs_detach_mcast() local
2750 list_for_each_entry(mcast, &obj->mcast_list, list) in ib_uverbs_detach_mcast()
2751 if (cmd.mlid == mcast->lid && in ib_uverbs_detach_mcast()
2752 !memcmp(cmd.gid, mcast->gid.raw, sizeof mcast->gid.raw)) { in ib_uverbs_detach_mcast()
2753 list_del(&mcast->list); in ib_uverbs_detach_mcast()
2754 kfree(mcast); in ib_uverbs_detach_mcast()