NTB: ntb_transport: fix debugfs_remove_recursive
authorAllen Hubbe <Allen.Hubbe@dell.com>
Tue, 27 Dec 2016 22:57:04 +0000 (17:57 -0500)
committerJon Mason <jdmason@kudzu.us>
Fri, 17 Feb 2017 04:10:52 +0000 (23:10 -0500)
The call to debugfs_remove_recursive(qp->debugfs_dir) of the sub-level
directory must not be later than
debugfs_remove_recursive(nt_debugfs_dir) of the top-level directory.
Otherwise, the sub-level directory will not exist, and it would be
invalid (panic) to attempt to remove it.  This removes the top-level
directory last, after sub-level directories have been cleaned up.

Signed-off-by: Allen Hubbe <Allen.Hubbe@dell.com>
Fixes: e26a5843f ("NTB: Split ntb_hw_intel and ntb_transport drivers")
Signed-off-by: Jon Mason <jdmason@kudzu.us>
drivers/ntb/ntb_transport.c

index f81aa4b18d9f4dd76ec0be63f46865d3b04f89c6..0e18adb51e4ee152f16fca86ebdcbc41509b3d7e 100644 (file)
@@ -2273,9 +2273,8 @@ module_init(ntb_transport_init);
 
 static void __exit ntb_transport_exit(void)
 {
-       debugfs_remove_recursive(nt_debugfs_dir);
-
        ntb_unregister_client(&ntb_transport_client);
        bus_unregister(&ntb_transport_bus);
+       debugfs_remove_recursive(nt_debugfs_dir);
 }
 module_exit(ntb_transport_exit);