From: Andrew Morton Cc: Christoph Hellwig Cc: Jody McIntyre Cc: Stefan Richter Signed-off-by: Andrew Morton --- drivers/ieee1394/ieee1394_core.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff -puN drivers/ieee1394/ieee1394_core.c~ieee1394_core-switch-to-kthread-api-fix drivers/ieee1394/ieee1394_core.c --- devel/drivers/ieee1394/ieee1394_core.c~ieee1394_core-switch-to-kthread-api-fix 2006-05-29 15:44:15.000000000 -0700 +++ devel-akpm/drivers/ieee1394/ieee1394_core.c 2006-05-29 15:44:15.000000000 -0700 @@ -1001,7 +1001,6 @@ void abort_timedouts(unsigned long __opa static struct task_struct *khpsbpkt_thread; static struct sk_buff_head hpsbpkt_queue; - static void queue_packet_complete(struct hpsb_packet *packet) { if (packet->no_waiter) { @@ -1036,10 +1035,11 @@ static int hpsbpkt_thread(void *__hi) complete_routine(complete_data); } - set_current_state(TASK_INTERRUPTIBLE ); - schedule(); + set_current_state(TASK_INTERRUPTIBLE); + if (!skb_peek(&hpsbpkt_queue)) + schedule(); + __set_current_state(TASK_RUNNING); } - return 0; } _