[ofa-general] RE: [PATCH] CMA: Enable conn_id remove

Sean Hefty sean.hefty at intel.com
Tue Dec 4 09:46:50 PST 2007


>I have the following issue: The IB driver can't be unloaded after running
>applications over RDS.

Do you mean the HCA driver?  Are there still active connections when the driver
is unloaded?

>I saw that the 'dev_remove' counter does not reach 0 value on the passive side
>(after connection establishment).
>
>Please review the following patch:
>
>CMA: Enable conn_id remove on the passive side after
>connection establishment.
>
>Signed-off-by: Vladimir Sokolovsky <vlad at mellanox.co.il>

This looks correct to me, but I'd like to understand why we don't see problems
more often.

- Sean

>---
>diff --git a/drivers/infiniband/core/cma.c b/drivers/infiniband/core/cma.c
>index 0751697..656d6df 100644
>--- a/drivers/infiniband/core/cma.c
>+++ b/drivers/infiniband/core/cma.c
>@@ -1122,8 +1122,10 @@ static int cma_req_handler(struct ib_cm_id *cm_id,
>struct ib_cm_event *ib_event)
>         cm_id->cm_handler = cma_ib_handler;
>
>         ret = conn_id->id.event_handler(&conn_id->id, &event);
>-       if (!ret)
>+       if (!ret) {
>+               cma_enable_remove(conn_id);
>                 goto out;
>+       }
>
>         /* Destroy the CM ID by returning a non-zero value. */
>         conn_id->cm_id.ib = NULL;



More information about the general mailing list