raid0 doesn't have a thread. drivers/md/md.c | 8 +++++--- 1 files changed, 5 insertions(+), 3 deletions(-) diff -puN drivers/md/md.c~raid0-oops-fix drivers/md/md.c --- 25/drivers/md/md.c~raid0-oops-fix 2003-03-16 00:42:20.000000000 -0800 +++ 25-akpm/drivers/md/md.c 2003-03-16 00:42:20.000000000 -0800 @@ -2818,9 +2818,11 @@ int md_thread(void * arg) void md_wakeup_thread(mdk_thread_t *thread) { - dprintk("md: waking up MD thread %p.\n", thread); - set_bit(THREAD_WAKEUP, &thread->flags); - wake_up(&thread->wqueue); + if (thread) { + dprintk("md: waking up MD thread %p.\n", thread); + set_bit(THREAD_WAKEUP, &thread->flags); + wake_up(&thread->wqueue); + } } mdk_thread_t *md_register_thread(void (*run) (mddev_t *), mddev_t *mddev, _