[ewg] [PATCH] RDMA/nes: Corrected AEQE operation

miroslaw.walukiewicz at intel.com miroslaw.walukiewicz at intel.com
Fri Feb 18 08:20:27 PST 2011


Fixed incompatibility  problems between nes and various MPIs

Signed-off-by: Mirek Walukiewicz <miroslaw.walukiewicz at intel.com>
Signed-off-by: Faisal Latif <faisal.latif at intel.com>
---

 kernel_patches/fixes/nes_0057_aeqe_fix.patch |   13 +++++--------
 1 files changed, 5 insertions(+), 8 deletions(-)


diff --git a/kernel_patches/fixes/nes_0057_aeqe_fix.patch b/kernel_patches/fixes/nes_0057_aeqe_fix.patch
index b300869..eb76e2d 100644
--- a/kernel_patches/fixes/nes_0057_aeqe_fix.patch
+++ b/kernel_patches/fixes/nes_0057_aeqe_fix.patch
@@ -1,9 +1,9 @@
 diff --git a/drivers/infiniband/hw/nes/nes_hw.c b/drivers/infiniband/hw/nes/nes_hw.c
-index 77fecbe..d6fe96a 100644
+index 77fecbe..13cde1a 100644
 --- a/drivers/infiniband/hw/nes/nes_hw.c
 +++ b/drivers/infiniband/hw/nes/nes_hw.c
 @@ -3561,9 +3561,9 @@ static void nes_process_iwarp_aeqe(struct nes_device *nesdev,
-
+ 
  	aeqe_cq_id = le32_to_cpu(aeqe->aeqe_words[NES_AEQE_COMP_QP_CQ_ID_IDX]);
  	if (aeq_info & NES_AEQE_QP) {
 -		if ((!nes_is_resource_allocated(nesadapter, nesadapter->allocated_qps,
@@ -14,7 +14,7 @@ index 77fecbe..d6fe96a 100644
 +				aeqe_cq_id))
  			return;
  	}
-
+ 
 @@ -3573,8 +3573,7 @@ static void nes_process_iwarp_aeqe(struct nes_device *nesdev,
  				return; /* Ignore it, wait for close complete */
  			if (atomic_inc_return(&nesqp->close_timer_started) == 1) {
@@ -25,7 +25,7 @@ index 77fecbe..d6fe96a 100644
  					spin_lock_irqsave(&nesqp->lock, flags);
  					nesqp->hw_iwarp_state = iwarp_state;
  					nesqp->hw_tcp_state = tcp_state;
-@@ -3601,9 +3600,13 @@ static void nes_process_iwarp_aeqe(struct nes_device *nesdev,
+@@ -3601,9 +3600,10 @@ static void nes_process_iwarp_aeqe(struct nes_device *nesdev,
  				return;
  			}
  			spin_lock_irqsave(&nesqp->lock, flags);
@@ -35,9 +35,6 @@ index 77fecbe..d6fe96a 100644
 +			nesqp->last_aeq = async_event_id;
  			spin_unlock_irqrestore(&nesqp->lock, flags);
 -			nes_hw_modify_qp(nesdev, nesqp, NES_CQP_QP_IWARP_STATE_CLOSING, 0, 0);
-+			next_iwarp_state = NES_CQP_QP_IWARP_STATE_ERROR |
-+							NES_CQP_QP_DEL_HTE;
-+			nes_hw_modify_qp(nesdev, nesqp, next_iwarp_state, 0, 0);
  			nes_cm_disconn(nesqp);
  			break;
-
+ 





More information about the ewg mailing list