This patch fixes the handling of a duplicate RMPP ACK.

Hal, can you test this and see if it corrects the problems that you were
seeing on the SA side?

Signed-off-by: Sean Hefty <[EMAIL PROTECTED]>


Index: mad_rmpp.c
===================================================================
--- mad_rmpp.c  (revision 2563)
+++ mad_rmpp.c  (working copy)
@@ -657,7 +657,8 @@ static void process_rmpp_ack(struct ib_m
                        ib_reset_mad_timeout(mad_send_wr, mad_send_wr->
                                             send_wr.wr.ud.timeout_ms);
        } else if (mad_send_wr->refcount == 1 &&
-                  mad_send_wr->seg_num < mad_send_wr->newwin) {
+                  mad_send_wr->seg_num < mad_send_wr->newwin &&
+                  mad_send_wr->seg_num <= mad_send_wr->total_seg) {
                /* Send failure will just result in a timeout/retry */
                ret = send_next_seg(mad_send_wr);
                if (ret)



_______________________________________________
openib-general mailing list
[email protected]
http://openib.org/mailman/listinfo/openib-general

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

Reply via email to