Hi all, Firewire stack use two external kernel modules: dpc and timer(copied from src/add-ons/kernel/drivers/network/ipro1000/timer.c), when they are used together as bellow, it produce the strange panic bug. A simple kernel module can reproduce the problem easily: 1.create_timer, the timer hook function queue a dpc hook function into a dpc handle 2.the dpc hook function can be just simple dprintf sth. I don't know why and why gcc2 build is ok. The patch just bypass this situation. IMO, could we introduce a mechanism like the workqueue in Linux kernel? 1.Hook functions are run in the context of a special kernel process 2.The execution of hook functions can be delayed for an interval including 0(interval 0 is what the dpc do) This patch should fix firewire gcc4 build instability. So, ticket 1727 (http://dev.haiku-os.org/ticket/1727) should be closed. For ticket 2243(http://dev.haiku-os.org/ticket/2243), I think this is the hardware bug, I encounter the same problem under a Linux box as replied in the ticket. IMO, it does not matter just type exit once KDLed due to the broken hardware bug, although driver should try to adapt all hardware including some broken ones. Could firewire fw_raw and fwcontrol be added to default haiku image to test the stack a lot? Thanks in advance, JiSheng