diff options
author | NeilBrown <neilb@suse.de> | 2009-03-31 14:39:39 +1100 |
---|---|---|
committer | NeilBrown <neilb@suse.de> | 2009-03-31 14:39:39 +1100 |
commit | e0cf8f045b2023b0b3f919ee93eb94345f648434 (patch) | |
tree | 21d8d0741a5ae4676fea5b53939cc806ae2b41bd /drivers/md | |
parent | 91adb56473febeeb3ef657bb5147ddd355465700 (diff) | |
download | op-kernel-dev-e0cf8f045b2023b0b3f919ee93eb94345f648434.zip op-kernel-dev-e0cf8f045b2023b0b3f919ee93eb94345f648434.tar.gz |
md: md_unregister_thread should cope with being passed NULL
Mostly md_unregister_thread is only called when we know that the
thread is NULL, but sometimes we need to check first. It is safer
to put the check inside md_unregister_thread itself.
Signed-off-by: NeilBrown <neilb@suse.de>
Diffstat (limited to 'drivers/md')
-rw-r--r-- | drivers/md/md.c | 2 | ||||
-rw-r--r-- | drivers/md/raid5.c | 3 |
2 files changed, 3 insertions, 2 deletions
diff --git a/drivers/md/md.c b/drivers/md/md.c index 117ea5f..f30f09c 100644 --- a/drivers/md/md.c +++ b/drivers/md/md.c @@ -5382,6 +5382,8 @@ mdk_thread_t *md_register_thread(void (*run) (mddev_t *), mddev_t *mddev, void md_unregister_thread(mdk_thread_t *thread) { + if (!thread) + return; dprintk("interrupting MD-thread pid %d\n", task_pid_nr(thread->tsk)); kthread_stop(thread->tsk); diff --git a/drivers/md/raid5.c b/drivers/md/raid5.c index d019a85..81789fa 100644 --- a/drivers/md/raid5.c +++ b/drivers/md/raid5.c @@ -4463,8 +4463,7 @@ static int run(mddev_t *mddev) return 0; abort: - if (mddev->thread) - md_unregister_thread(mddev->thread); + md_unregister_thread(mddev->thread); mddev->thread = NULL; if (conf) { shrink_stripes(conf); |