diff --git a/[refs] b/[refs] index 3a04ab659999..796e0459388b 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: c1cb8e48bddd9e16ef488ea5d50885908c5a4081 +refs/heads/master: c7ac86de6a1bcb1b59c83e19b0d0d64a59604ade diff --git a/trunk/drivers/md/dm-mpath-rdac.c b/trunk/drivers/md/dm-mpath-rdac.c index 16b161345775..e04eb5c697fb 100644 --- a/trunk/drivers/md/dm-mpath-rdac.c +++ b/trunk/drivers/md/dm-mpath-rdac.c @@ -664,20 +664,21 @@ static struct hw_handler_type rdac_handler = { static int __init rdac_init(void) { - int r = dm_register_hw_handler(&rdac_handler); - - if (r < 0) { - DMERR("%s: register failed %d", RDAC_DM_HWH_NAME, r); - return r; - } + int r; rdac_wkqd = create_singlethread_workqueue("rdac_wkqd"); if (!rdac_wkqd) { DMERR("Failed to create workqueue rdac_wkqd."); - dm_unregister_hw_handler(&rdac_handler); return -ENOMEM; } + r = dm_register_hw_handler(&rdac_handler); + if (r < 0) { + DMERR("%s: register failed %d", RDAC_DM_HWH_NAME, r); + destroy_workqueue(rdac_wkqd); + return r; + } + DMINFO("%s: version %s loaded", RDAC_DM_HWH_NAME, RDAC_DM_HWH_VER); return 0; } diff --git a/trunk/kernel/Makefile b/trunk/kernel/Makefile index 79f017e09fbd..05c3e6df8597 100644 --- a/trunk/kernel/Makefile +++ b/trunk/kernel/Makefile @@ -9,9 +9,8 @@ obj-y = sched.o fork.o exec_domain.o panic.o printk.o profile.o \ rcupdate.o extable.o params.o posix-timers.o \ kthread.o wait.o kfifo.o sys_ni.o posix-cpu-timers.o mutex.o \ hrtimer.o rwsem.o latency.o nsproxy.o srcu.o \ - utsname.o notifier.o + utsname.o sysctl_check.o notifier.o -obj-$(CONFIG_SYSCTL) += sysctl_check.o obj-$(CONFIG_STACKTRACE) += stacktrace.o obj-y += time/ obj-$(CONFIG_DEBUG_MUTEXES) += mutex-debug.o