[openib-general] [PATCH] rdma_cm oops: rdma_destroy_id
Sean Hefty
mshefty at ichips.intel.com
Wed Mar 15 09:45:55 PST 2006
Michael S. Tsirkin wrote:
> Apparently, if I call rdma_destroy_id after I called rdma_resolve_addr
> but before the address was resolved, the device pointer is NULL.
> As a result, cma_cancel_addr then crashes when trying to get the device type.
You should be able to call rdma_destroy_id at anytime, so it does sound like
there's a bug here.
> There is something else I'd like a clarification on: rdma_destroy_id
> only starts the destroy process, asynchronously. What is the best way
> to know the process has finished? Also, when is it safe to call rdma_destroy_qp?
Once rdma_destroy_id returns, the destruction is considered complete by the
user. You must call rdma_destroy_qp() and release all resources associated with
a specific device before calling rdma_destroy_id() for device removal to be
handled properly.
> Since we always start address resolution with rdma_resolve_ip, we should
> always cancel it with rdma_addr_cancel - we can't switch on device type
> since we don't yet know what device we will use.
Thanks - I'll look over the patch.
- Sean
More information about the general
mailing list