aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/md/multipath.c
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2011-10-06 08:30:03 -0700
committerLinus Torvalds <torvalds@linux-foundation.org>2011-10-06 08:30:03 -0700
commita7c56ebac1bce799b583230595b4de9ccb8162d0 (patch)
tree000aa9f3f7aef65ecd918c012c1f9b86445cb135 /drivers/md/multipath.c
parent538d2882213ef4f076108f3edda2c39a584c4c2b (diff)
parent01f96c0a9922cd9919baf9d16febdf7016177a12 (diff)
downloadkernel_replicant_linux-a7c56ebac1bce799b583230595b4de9ccb8162d0.tar.gz
kernel_replicant_linux-a7c56ebac1bce799b583230595b4de9ccb8162d0.tar.bz2
kernel_replicant_linux-a7c56ebac1bce799b583230595b4de9ccb8162d0.zip
Merge branch 'for-linus' of git://neil.brown.name/md
* 'for-linus' of git://neil.brown.name/md: md: Avoid waking up a thread after it has been freed.
Diffstat (limited to 'drivers/md/multipath.c')
-rw-r--r--drivers/md/multipath.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/drivers/md/multipath.c b/drivers/md/multipath.c
index 3535c23af288..d5b5fb300171 100644
--- a/drivers/md/multipath.c
+++ b/drivers/md/multipath.c
@@ -514,8 +514,7 @@ static int multipath_stop (mddev_t *mddev)
{
multipath_conf_t *conf = mddev->private;
- md_unregister_thread(mddev->thread);
- mddev->thread = NULL;
+ md_unregister_thread(&mddev->thread);
blk_sync_queue(mddev->queue); /* the unplug fn references 'conf'*/
mempool_destroy(conf->pool);
kfree(conf->multipaths);