core: ib_uverbs_reg_xrc_rcv_qp thinko fix.
    
When caller calls ib_uverbs_reg_xrc_rcv_qp more than once for a given
receive QP, should return in_len, and should not call put_xrcd_read again.
    
Found By: Ronni Zimmerman of Mellanox QA.
    
Signed-off-by: Jack Morgenstein <[EMAIL PROTECTED]>

diff --git a/kernel_patches/fixes/core_0110_xrc_rcv.patch 
b/kernel_patches/fixes/core_0110_xrc_rcv.patch
index 56b9ac4..c5b5af4 100644
--- a/kernel_patches/fixes/core_0110_xrc_rcv.patch
+++ b/kernel_patches/fixes/core_0110_xrc_rcv.patch
@@ -183,7 +183,7 @@ Index: ofed_kernel/drivers/infiniband/core/uverbs_cmd.c
  {
        struct inode               *inode = NULL;
        int                         ret = 0;
-@@ -2625,4 +2640,352 @@ void ib_uverbs_dealloc_xrcd(struct ib_de
+@@ -2625,4 +2640,351 @@ void ib_uverbs_dealloc_xrcd(struct ib_de
                xrcd_table_delete(ib_dev, inode);
  }
  
@@ -475,8 +475,7 @@ Index: ofed_kernel/drivers/infiniband/core/uverbs_cmd.c
 +              if (cmd.qp_num == tmp->qp_num) {
 +                      kfree(qp_obj);
 +                      mutex_unlock(&file->mutex);
-+                      put_xrcd_read(xrcd_uobj);
-+                      return 0;
++                      return in_len;
 +              }
 +      qp_obj->qp_num = cmd.qp_num;
 +      qp_obj->domain_handle = cmd.xrc_domain_handle;
_______________________________________________
general mailing list
[email protected]
http://lists.openfabrics.org/cgi-bin/mailman/listinfo/general

To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general

Reply via email to