I sent the patch to the list - and also attached the patch mail here. Thanks, - Amir
> -----Original Message----- > From: Sean Hefty [mailto:[EMAIL PROTECTED] > Sent: Monday, July 14, 2008 8:28 PM > To: Amir Vadai > Cc: [email protected]; Oren Duer; Tziporet Koren > Subject: RE: [ofa-general] cma: add support for TIMEWAIT_EXIT > event (second try) > > >Acquiring the handler_mutex explicitly sounds like a good idea. > > Based on Roland's feedback to a patch from Or, keep your > original code with > cma_disable_remove() in the if statement. > > >When will it be commited? Will we have it in 2.6.27? > > That's up to Roland, but the changes look fine to me. I've > already modified the > librdmacm to account for this event, so getting it in 2.6.27 > would be my > preference. > > Can you re-send your original patch against Roland's > for-2.6.27 branch? > > - Sean > >
--- Begin Message ---Signed-off-by: Amir Vadai <[EMAIL PROTECTED]> --- drivers/infiniband/core/cma.c | 7 ++++++- include/rdma/rdma_cm.h | 3 ++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/drivers/infiniband/core/cma.c b/drivers/infiniband/core/cma.c index ae11d5c..9fa1371 100644 --- a/drivers/infiniband/core/cma.c +++ b/drivers/infiniband/core/cma.c @@ -914,7 +914,10 @@ static int cma_ib_handler(struct ib_cm_id *cm_id, struct ib_cm_event *ib_event) struct rdma_cm_event event; int ret = 0; - if (cma_disable_callback(id_priv, CMA_CONNECT)) + if ((ib_event->event != IB_CM_TIMEWAIT_EXIT && + cma_disable_callback(id_priv, CMA_CONNECT)) || + (ib_event->event == IB_CM_TIMEWAIT_EXIT && + cma_disable_callback(id_priv, CMA_DISCONNECT))) return 0; memset(&event, 0, sizeof event); @@ -950,6 +953,8 @@ static int cma_ib_handler(struct ib_cm_id *cm_id, struct ib_cm_event *ib_event) event.event = RDMA_CM_EVENT_DISCONNECTED; break; case IB_CM_TIMEWAIT_EXIT: + event.event = RDMA_CM_EVENT_TIMWAIT_EXIT; + break; case IB_CM_MRA_RECEIVED: /* ignore event */ goto out; diff --git a/include/rdma/rdma_cm.h b/include/rdma/rdma_cm.h index 22bb2e7..80170bd 100644 --- a/include/rdma/rdma_cm.h +++ b/include/rdma/rdma_cm.h @@ -57,7 +57,8 @@ enum rdma_cm_event_type { RDMA_CM_EVENT_DISCONNECTED, RDMA_CM_EVENT_DEVICE_REMOVAL, RDMA_CM_EVENT_MULTICAST_JOIN, - RDMA_CM_EVENT_MULTICAST_ERROR + RDMA_CM_EVENT_MULTICAST_ERROR, + RDMA_CM_EVENT_TIMWAIT_EXIT }; enum rdma_port_space { -- 1.5.3
--- End Message ---
_______________________________________________ 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
