if (smi_info->thread_pid > 0) { /* wake the potentially sleeping thread */ kill_proc(smi_info->thread_pid, SIGKILL, 0); wait_for_completion(&(smi_info->exiting)); } 
if (smi_info->thread != ERR_PTR(-ENOMEM)) kthread_stop(smi_info->thread); 
static inline void wait_for_timer_and_thread(struct smi_info *smi_info){	if (smi_info->thread_pid > 0) {		/* wake the potentially sleeping thread */		kill_proc(smi_info->thread_pid, SIGKILL, 0);		wait_for_completion(&(smi_info->exiting));	}	del_timer_sync(&smi_info->si_timer);}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/e9a705a0a0ed99833cfef40d509f63a052638f00/ipmi_si_intf.c/clean/drivers/char/ipmi/ipmi_si_intf.c