try_to_freeze(PF_FREEZE);
try_to_freeze();
static int gameport_thread(void *nothing){	lock_kernel();	daemonize("kgameportd");	allow_signal(SIGTERM);	do {		gameport_handle_events();		wait_event_interruptible(gameport_wait, !list_empty(&gameport_event_list));		try_to_freeze(PF_FREEZE);	} while (!signal_pending(current));	printk(KERN_DEBUG "gameport: kgameportd exiting\n");	unlock_kernel();	complete_and_exit(&gameport_exited, 0);}