diff options
Diffstat (limited to 'drivers/infiniband/ulp/ipoib/ipoib_multicast.c')
-rw-r--r-- | drivers/infiniband/ulp/ipoib/ipoib_multicast.c | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/drivers/infiniband/ulp/ipoib/ipoib_multicast.c b/drivers/infiniband/ulp/ipoib/ipoib_multicast.c index c33ed87f9dff..ef3ee035bbc8 100644 --- a/drivers/infiniband/ulp/ipoib/ipoib_multicast.c +++ b/drivers/infiniband/ulp/ipoib/ipoib_multicast.c | |||
@@ -135,20 +135,14 @@ static struct ipoib_mcast *ipoib_mcast_alloc(struct net_device *dev, | |||
135 | if (!mcast) | 135 | if (!mcast) |
136 | return NULL; | 136 | return NULL; |
137 | 137 | ||
138 | init_completion(&mcast->done); | ||
139 | |||
140 | mcast->dev = dev; | 138 | mcast->dev = dev; |
141 | mcast->created = jiffies; | 139 | mcast->created = jiffies; |
142 | mcast->backoff = 1; | 140 | mcast->backoff = 1; |
143 | mcast->logcount = 0; | ||
144 | 141 | ||
145 | INIT_LIST_HEAD(&mcast->list); | 142 | INIT_LIST_HEAD(&mcast->list); |
146 | INIT_LIST_HEAD(&mcast->neigh_list); | 143 | INIT_LIST_HEAD(&mcast->neigh_list); |
147 | skb_queue_head_init(&mcast->pkt_queue); | 144 | skb_queue_head_init(&mcast->pkt_queue); |
148 | 145 | ||
149 | mcast->ah = NULL; | ||
150 | mcast->query = NULL; | ||
151 | |||
152 | return mcast; | 146 | return mcast; |
153 | } | 147 | } |
154 | 148 | ||
@@ -350,6 +344,8 @@ static int ipoib_mcast_sendonly_join(struct ipoib_mcast *mcast) | |||
350 | rec.port_gid = priv->local_gid; | 344 | rec.port_gid = priv->local_gid; |
351 | rec.pkey = cpu_to_be16(priv->pkey); | 345 | rec.pkey = cpu_to_be16(priv->pkey); |
352 | 346 | ||
347 | init_completion(&mcast->done); | ||
348 | |||
353 | ret = ib_sa_mcmember_rec_set(priv->ca, priv->port, &rec, | 349 | ret = ib_sa_mcmember_rec_set(priv->ca, priv->port, &rec, |
354 | IB_SA_MCMEMBER_REC_MGID | | 350 | IB_SA_MCMEMBER_REC_MGID | |
355 | IB_SA_MCMEMBER_REC_PORT_GID | | 351 | IB_SA_MCMEMBER_REC_PORT_GID | |
@@ -469,6 +465,8 @@ static void ipoib_mcast_join(struct net_device *dev, struct ipoib_mcast *mcast, | |||
469 | rec.traffic_class = priv->broadcast->mcmember.traffic_class; | 465 | rec.traffic_class = priv->broadcast->mcmember.traffic_class; |
470 | } | 466 | } |
471 | 467 | ||
468 | init_completion(&mcast->done); | ||
469 | |||
472 | ret = ib_sa_mcmember_rec_set(priv->ca, priv->port, &rec, comp_mask, | 470 | ret = ib_sa_mcmember_rec_set(priv->ca, priv->port, &rec, comp_mask, |
473 | mcast->backoff * 1000, GFP_ATOMIC, | 471 | mcast->backoff * 1000, GFP_ATOMIC, |
474 | ipoib_mcast_join_complete, | 472 | ipoib_mcast_join_complete, |