The current error handling in module_init and add_procs is abysmal and usually results in segv's after the openib BTL returns.
Part of the issue is: what should the BTL do if add_procs() fails? I started a discussion here:
http://www.open-mpi.org/community/lists/devel/2008/08/4498.php
I have much of the cleanup work done, but need a ruling on what the BTL is supposed to do if add_procs() fails.