]> git.openfabrics.org - ~shefty/rdma-win.git/commitdiff
[MLX4] (WinIb 2439) fixed a bug, that caused "Completion event for bogus CQ " message...
authorleonidk <leonidk@ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86>
Wed, 14 May 2008 09:53:08 +0000 (09:53 +0000)
committerleonidk <leonidk@ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86>
Wed, 14 May 2008 09:53:08 +0000 (09:53 +0000)
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

index ddc9abbe636ad73b390fcb9e35b5deafc434d768..a3206944db9cd2bf7e157d7736132a8c3926cba9 100644 (file)
 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;