From 5f80cfa6010decbfec6d20f102d0876d00f862f1 Mon Sep 17 00:00:00 2001 From: Hoang-Nam Nguyen Date: Fri, 19 Jan 2007 22:50:10 +0100 Subject: [PATCH] --- yaml --- r: 45751 b: refs/heads/master c: ce29d72cc737df3573854a4719f00385adf1c9a6 h: refs/heads/master i: 45749: d33ad592d5600f12bd97f6ad5abdce31981824f3 45747: 863e2b2361a45714e4646a028f24fe09bd8b8bf6 45743: 072457a2a20be2365a7909c16e8766d3de683589 v: v3 --- [refs] | 2 +- trunk/drivers/infiniband/hw/ehca/ehca_cq.c | 5 ++++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/[refs] b/[refs] index 353fcb8429a5..3776b05431be 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: a20f3a6d7e67a8aee571fb04634a631ba59f6e92 +refs/heads/master: ce29d72cc737df3573854a4719f00385adf1c9a6 diff --git a/trunk/drivers/infiniband/hw/ehca/ehca_cq.c b/trunk/drivers/infiniband/hw/ehca/ehca_cq.c index 93995b658d94..6074c897f51c 100644 --- a/trunk/drivers/infiniband/hw/ehca/ehca_cq.c +++ b/trunk/drivers/infiniband/hw/ehca/ehca_cq.c @@ -344,8 +344,11 @@ int ehca_destroy_cq(struct ib_cq *cq) unsigned long flags; spin_lock_irqsave(&ehca_cq_idr_lock, flags); - while (my_cq->nr_callbacks) + while (my_cq->nr_callbacks) { + spin_unlock_irqrestore(&ehca_cq_idr_lock, flags); yield(); + spin_lock_irqsave(&ehca_cq_idr_lock, flags); + } idr_remove(&ehca_cq_idr, my_cq->token); spin_unlock_irqrestore(&ehca_cq_idr_lock, flags);