The following patch includes the packet lifetime as part of the delay
waiting for a request after receiving an MRA.  Problem pointed out by
Fab Tillier.

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


Index: core/cm.c
===================================================================
--- core/cm.c   (revision 2752)
+++ core/cm.c   (working copy)
@@ -92,6 +92,7 @@ struct cm_av {
        union ib_gid dgid;
        struct ib_ah_attr ah_attr;
        u16 pkey_index;
+       u8 packet_life_time;
 };
 
 struct cm_work {
@@ -296,6 +297,7 @@ static int cm_init_av_by_path(struct ib_
        av->port = port;
        cm_set_ah_attr(&av->ah_attr, av->port->port_num, path->dlid,
                       path->sl, path->slid & 0x7F);
+       av->packet_life_time = path->packet_life_time;
        return 0;
 }
 
@@ -2164,7 +2166,8 @@ static int cm_mra_handler(struct cm_work
        work->cm_event.private_data = &mra_msg->private_data;
        work->cm_event.param.mra_rcvd.service_timeout =
                                        cm_mra_get_service_timeout(mra_msg);
-       timeout = cm_convert_to_ms(cm_mra_get_service_timeout(mra_msg));
+       timeout = cm_convert_to_ms(cm_mra_get_service_timeout(mra_msg)) +
+                 cm_convert_to_ms(cm_id_priv->av.packet_life_time);
 
        spin_lock_irqsave(&cm_id_priv->lock, flags);
        switch (cm_id_priv->id.state) {



_______________________________________________
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