Sean Hefty wrote:
> --- core/cm.c (revision 8629)
> +++ core/cm.c (working copy)
> +static void cm_event_handler(struct ib_event *event)
> +{
> +     struct cm_id_private *cm_id_priv = NULL;
> +     struct cm_timewait_info *timewait_info;
> +     unsigned long flags;
> +
> +     if (event->event == IB_EVENT_COMM_EST) {
> +             spin_lock_irqsave(&cm.lock, flags);
> +             timewait_info = cm_find_local_qpn(event->device->node_guid,
> +                                               cpu_to_be32(event->element.
> +                                                           qp->qp_num));
> +             if (timewait_info)
> +                     cm_id_priv = cm_get_id(timewait_info->work.local_id,
> +                                            timewait_info->work.remote_id);
> +             spin_unlock_irqrestore(&cm.lock, flags);
> +             if (cm_id_priv) {
> +                     ib_cm_establish(&cm_id_priv->id);
> +                     cm_deref_id(cm_id_priv);
> +             }
> +     }
> +}
> +

+/**
+ * ib_cm_establish - Forces a connection state to established.
+ * @cm_id: Connection identifier to transition to established.
+ *
+ * This routine should be invoked by users who receive messages on a
+ * connected QP before an RTU has been received.
+ */
+int ib_cm_establish(struct ib_cm_id *cm_id);

Sean,

As with your patch ib_cm_establish is now called internally from within 
the CM with the suggested solution good for both user and kernel space 
connections/qps, how about removing it from the API?

Or.


Or.


_______________________________________________
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