summaryrefslogtreecommitdiffstats
path: root/runtime/transport/transport.c
diff options
context:
space:
mode:
Diffstat (limited to 'runtime/transport/transport.c')
-rw-r--r--runtime/transport/transport.c18
1 files changed, 18 insertions, 0 deletions
diff --git a/runtime/transport/transport.c b/runtime/transport/transport.c
index 792ea815..ab0806f2 100644
--- a/runtime/transport/transport.c
+++ b/runtime/transport/transport.c
@@ -453,6 +453,12 @@ static struct dentry *_stp_get_root_dir(void)
errk("Could not create or find transport directory.\n");
}
}
+ else if (IS_ERR(__stp_root_dir)) {
+ __stp_root_dir = NULL;
+ errk("Could not create root directory \"%s\", error %ld\n", name,
+ -PTR_ERR(__stp_root_dir));
+ }
+
_stp_unlock_transport_dir();
return __stp_root_dir;
}
@@ -490,8 +496,20 @@ static int _stp_transport_fs_init(const char *module_name)
if (root_dir == NULL)
return -1;
+#if STP_TRANSPORT_VERSION == 1
+ __stp_module_dir = relayfs_create_dir(module_name, root_dir);
+#else
__stp_module_dir = debugfs_create_dir(module_name, root_dir);
+#endif
if (!__stp_module_dir) {
+ errk("Could not create module directory \"%s\"\n",
+ module_name);
+ _stp_remove_root_dir();
+ return -1;
+ }
+ else if (IS_ERR(__stp_module_dir)) {
+ errk("Could not create module directory \"%s\", error %ld\n",
+ module_name, -PTR_ERR(__stp_module_dir));
_stp_remove_root_dir();
return -1;
}