[ofa-general] [PATCH] fix some ehca limits
    Anton Blanchard 
    anton at samba.org
       
    Mon Oct  1 08:36:20 PDT 2007
    
    
  
I had trouble getting DAPL to work on eHCA, this turned out to be a
negative value in max_cqe. max_pd and max_ah are currently negative too,
fix them up at the same time.
Before:
        max_cqe:                        -64
        max_pd:                         -1
        max_ah:                         -1
After:
        max_cqe:                        2147483647
        max_pd:                         2147483647
        max_ah:                         2147483647
Signed-off-by: Anton Blanchard <anton at samba.org>
---
diff --git a/drivers/infiniband/hw/ehca/ehca_hca.c b/drivers/infiniband/hw/ehca/ehca_hca.c
index fc19ef9..4df1e2b 100644
--- a/drivers/infiniband/hw/ehca/ehca_hca.c
+++ b/drivers/infiniband/hw/ehca/ehca_hca.c
@@ -87,11 +88,11 @@ int ehca_query_device(struct ib_device *ibdev, struct ib_device_attr *props)
 	props->max_sge         = min_t(int, rblock->max_sge, INT_MAX);
 	props->max_sge_rd      = min_t(int, rblock->max_sge_rd, INT_MAX);
 	props->max_cq          = min_t(int, rblock->max_cq, INT_MAX);
-	props->max_cqe         = min_t(int, rblock->max_cqe, INT_MAX);
+	props->max_cqe         = min_t(unsigned int, rblock->max_cqe, INT_MAX);
 	props->max_mr          = min_t(int, rblock->max_mr, INT_MAX);
 	props->max_mw          = min_t(int, rblock->max_mw, INT_MAX);
-	props->max_pd          = min_t(int, rblock->max_pd, INT_MAX);
-	props->max_ah          = min_t(int, rblock->max_ah, INT_MAX);
+	props->max_pd          = min_t(unsigned int, rblock->max_pd, INT_MAX);
+	props->max_ah          = min_t(unsigned int, rblock->max_ah, INT_MAX);
 	props->max_fmr         = min_t(int, rblock->max_mr, INT_MAX);
 	props->max_srq         = 0;
 	props->max_srq_wr      = 0;
    
    
More information about the general
mailing list