diff ./drivers/net/irda/sir_kthread.c~current~ ./drivers/net/irda/sir_kthread.c --- ./drivers/net/irda/sir_kthread.c~current~ 2003-06-25 11:50:36.000000000 +1000 +++ ./drivers/net/irda/sir_kthread.c 2003-06-25 11:51:02.000000000 +1000 @@ -166,6 +166,9 @@ static int irda_thread(void *startup) set_task_state(current, TASK_RUNNING); remove_wait_queue(&irda_rq_queue.kick, &wait); + if (current->flags & PF_FREEZE) + refrigerator(PF_IOTHREAD); + run_irda_queue(); }