int ret;  /* Kill the thread */ ret = kill_proc(khubd_pid, SIGKILL, 1);  wait_for_completion(&khubd_exited); 
kthread_stop(khubd_task); 
void usb_hub_cleanup(void){	int ret;	/* Kill the thread */	ret = kill_proc(khubd_pid, SIGKILL, 1);	wait_for_completion(&khubd_exited);	/*	 * Hub resources are freed for us by usb_deregister. It calls	 * usb_driver_purge on every device which in turn calls that	 * devices disconnect function if it is using this driver.	 * The hub_disconnect function takes care of releasing the	 * individual hub resources. -greg	 */	usb_deregister(&hub_driver);} /* usb_hub_cleanup() */
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/9c8d61783e5bb5e29744b6481a1c67c6e4e8e135/hub.c/clean/drivers/usb/core/hub.c