From 1235a194cd06a7e879166d2b3e33f1e315cb82c1 Mon Sep 17 00:00:00 2001 From: leonidk Date: Wed, 14 May 2008 09:53:08 +0000 Subject: [PATCH] [MLX4] (WinIb 2439) fixed a bug, that caused "Completion event for bogus CQ " message and the miss of CQ completion event after that. git-svn-id: svn://openib.tc.cornell.edu/gen1@1167 ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86 --- branches/WOF1-1/hw/mlx4/kernel/bus/net/cq.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/branches/WOF1-1/hw/mlx4/kernel/bus/net/cq.c b/branches/WOF1-1/hw/mlx4/kernel/bus/net/cq.c index ddc9abbe..a3206944 100644 --- a/branches/WOF1-1/hw/mlx4/kernel/bus/net/cq.c +++ b/branches/WOF1-1/hw/mlx4/kernel/bus/net/cq.c @@ -51,9 +51,12 @@ void mlx4_cq_completion(struct mlx4_dev *dev, u32 cqn) { struct mlx4_cq *cq; + struct mlx4_cq_table *cq_table = &mlx4_priv(dev)->cq_table; + + spin_lock_dpc(&cq_table->lock); + cq = radix_tree_lookup(&cq_table->tree, cqn & (dev->caps.num_cqs - 1)); + spin_unlock_dpc(&cq_table->lock); - cq = radix_tree_lookup(&mlx4_priv(dev)->cq_table.tree, - cqn & (dev->caps.num_cqs - 1)); if (!cq) { mlx4_warn(dev, "Completion event for bogus CQ %08x\n", cqn); return; -- 2.41.0