This bug was reported in http://bugs.debian.org/234365 The problem is that tasklet_kill is being called with IRQs disabled. The IRQs are disabled in handle_iso_listen. As the interrupts are off, the tasklet will never fire. Hence the tasklet_kill call never returns. The call chain looks like: [<f8a9cea6>] ohci1394_unregister_iso_tasklet+0x16/0xa3 [ohci1394] [<f8a9bb76>] stop_dma_rcv_ctx+0x76/0x80 [ohci1394] [<f8a993d9>] ohci_devctl+0x579/0x640 [ohci1394] [<f8ab12dc>] hpsb_unlisten_channel+0x3c/0x60 [ieee1394] [<f8aa2e43>] handle_iso_listen+0x163/0x1a0 [raw1394] [<f8aa5eb6>] state_connected+0x126/0x2c0 [raw1394] [<f8aa6103>] raw1394_write+0xb3/0x120 [raw1394] [<c016026d>] vfs_write+0xed/0x160 [<c0160392>] sys_write+0x42/0x70 [<c010959b>] syscall_call+0x7/0xb
There was a patch included in Linux 2.6.14 which could affect the problem. http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=4a9949d7ac9e2bc51939f27b184be6e1bd99004e Laurent, could you test it?
I'm assuming this issue is already fixed. Please reopen this bug if it's still present in kernel 2.6.16-rc1.