Without this patch, usb-uhci oopses after ALSA 1.0's snd-usb-audio has asynchronously unlinked its URBs. Apparently, the code for handling still-active TDs forgets to check whether the TD actually must be unlinked.
--- linux-2.4.23-rc1/drivers/usb/host/usb-uhci.c.orig Sun Nov 23 00:11:22 2003 +++ linux-2.4.23-rc1/drivers/usb/host/usb-uhci.c Sun Nov 23 01:23:45 2003 @@ -2554,13 +2554,14 @@ if (is_td_active(desc)) { // means we have completed the last TD, but not the TDs before desc->hw.td.status &= cpu_to_le32(~TD_CTRL_ACTIVE); dbg("TD still active (%x)- grrr. paranoia!", le32_to_cpu(desc->hw.td.status)); ret = -EXDEV; urb->iso_frame_desc[i].status = ret; - unlink_td (s, desc, 1); + if (mode == PROCESS_ISO_REGULAR) + unlink_td (s, desc, 1); // FIXME: immediate deletion may be dangerous goto err; } if (mode == PROCESS_ISO_REGULAR) unlink_td (s, desc, 1); ------------------------------------------------------- This SF.net email is sponsored by: SF.net Giveback Program. Does SourceForge.net help you be more productive? Does it help you create better code? SHARE THE LOVE, and help us help YOU! Click Here: http://sourceforge.net/donate/ _______________________________________________ Alsa-devel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/alsa-devel