RDMA/cxgb4: Detach from the LLD after unregistering RDMA device
authorSteve Wise <swise@opengridcomputing.com>
Thu, 20 May 2010 21:57:27 +0000 (16:57 -0500)
committerRoland Dreier <rolandd@cisco.com>
Tue, 25 May 2010 04:07:59 +0000 (21:07 -0700)
In the RDMA core unregister path, kernel users will be calling down
into the T4 provider to release resources.  So we cannot detach from
the LLD until this process completes.

Signed-off-by: Steve Wise <swise@opengridcomputing.com>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
drivers/infiniband/hw/cxgb4/device.c

index be23b5eab13b194aa0c90e0da7cb92c6416d897e..c7e2484e721902b7c7c310aae13771a4fbd83f05 100644 (file)
@@ -504,14 +504,12 @@ static void __exit c4iw_exit_module(void)
 {
        struct c4iw_dev *dev, *tmp;
 
-       cxgb4_unregister_uld(CXGB4_ULD_RDMA);
-
        mutex_lock(&dev_mutex);
        list_for_each_entry_safe(dev, tmp, &dev_list, entry) {
                c4iw_remove(dev);
        }
        mutex_unlock(&dev_mutex);
-
+       cxgb4_unregister_uld(CXGB4_ULD_RDMA);
        c4iw_cm_term();
        debugfs_remove_recursive(c4iw_debugfs_root);
 }