Merge tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma
[sfrench/cifs-2.6.git] / drivers / infiniband / sw / rxe / rxe_mcast.c
index 1c1d1b53312dc9f1f4854e0910c2d9ebd81ecaf9..bd1ac88b87008cbb3870ad21150cc77aafcaf4f3 100644 (file)
@@ -40,12 +40,11 @@ int rxe_mcast_get_grp(struct rxe_dev *rxe, union ib_gid *mgid,
        int err;
        struct rxe_mc_grp *grp;
        struct rxe_pool *pool = &rxe->mc_grp_pool;
-       unsigned long flags;
 
        if (rxe->attr.max_mcast_qp_attach == 0)
                return -EINVAL;
 
-       write_lock_irqsave(&pool->pool_lock, flags);
+       write_lock_bh(&pool->pool_lock);
 
        grp = rxe_pool_get_key_locked(pool, mgid);
        if (grp)
@@ -53,13 +52,13 @@ int rxe_mcast_get_grp(struct rxe_dev *rxe, union ib_gid *mgid,
 
        grp = create_grp(rxe, pool, mgid);
        if (IS_ERR(grp)) {
-               write_unlock_irqrestore(&pool->pool_lock, flags);
+               write_unlock_bh(&pool->pool_lock);
                err = PTR_ERR(grp);
                return err;
        }
 
 done:
-       write_unlock_irqrestore(&pool->pool_lock, flags);
+       write_unlock_bh(&pool->pool_lock);
        *grp_p = grp;
        return 0;
 }
@@ -169,9 +168,9 @@ void rxe_drop_all_mcast_groups(struct rxe_qp *qp)
        }
 }
 
-void rxe_mc_cleanup(struct rxe_pool_entry *arg)
+void rxe_mc_cleanup(struct rxe_pool_elem *elem)
 {
-       struct rxe_mc_grp *grp = container_of(arg, typeof(*grp), pelem);
+       struct rxe_mc_grp *grp = container_of(elem, typeof(*grp), elem);
        struct rxe_dev *rxe = grp->rxe;
 
        rxe_drop_key(grp);