> @@ -332,7 +333,7 @@ int ehca_destroy_cq(struct ib_cq *cq)
> spin_lock_irqsave(&ehca_cq_idr_lock, flags);
> while (my_cq->nr_callbacks) {
> spin_unlock_irqrestore(&ehca_cq_idr_lock, flags);
> - yield();
> + wait_for_completion(&my_cq->zero_callbacks);
> spin_lock_irqsave(&ehca_cq_idr_lock, flags);
> }
A while loop around wait_for_completion doesn't make all that much sense.
I suspect a simple
if (my_cq->nr_callbacks)
wait_for_completion(&my_cq->zero_callbacks);
Is what you need.
_______________________________________________
openib-general mailing list
[email protected]
http://openib.org/mailman/listinfo/openib-general
To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general