diff --git a/drivers/staging/most/net/net.c b/drivers/staging/most/net/net.c index c8a64e209027..3fc80ad6730a 100644 --- a/drivers/staging/most/net/net.c +++ b/drivers/staging/most/net/net.c @@ -507,9 +507,19 @@ static struct core_component comp = { static int __init most_net_init(void) { + int err; + spin_lock_init(&list_lock); mutex_init(&probe_disc_mt); - return most_register_component(&comp); + err = most_register_component(&comp); + if (err) + return err; + err = most_register_configfs_subsys(&comp); + if (err) { + most_deregister_component(&comp); + return err; + } + return 0; } static void __exit most_net_exit(void) diff --git a/drivers/staging/most/video/video.c b/drivers/staging/most/video/video.c index adca250062e1..72622eb08bf8 100644 --- a/drivers/staging/most/video/video.c +++ b/drivers/staging/most/video/video.c @@ -540,8 +540,18 @@ static struct core_component comp = { static int __init comp_init(void) { + int err; + spin_lock_init(&list_lock); - return most_register_component(&comp); + err = most_register_component(&comp); + if (err) + return err; + err = most_register_configfs_subsys(&comp); + if (err) { + most_deregister_component(&comp); + return err; + } + return 0; } static void __exit comp_exit(void)