Hi, attached is a fix to enable split iso ins and prevent a crash. it maybe helps with Antti's crash. Can go upstream. Will try David's patch to improve playback soon.
cheers, Karsten patch header: improve ehci split iso in support Hunk 1 corrects a typo and thereby fixes a crash spot in tt_no_collision(). Hunk 2 prevents a false -EPROTO when IN-SITDs are checked in sitd_complete(). Signed of by: Karsten Wiese <[EMAIL PROTECTED]>
--- linux-2.6.11.2/drivers/usb/host_ehci/ehci-sched.c 2005-03-09 09:11:18.000000000 +0100 +++ linux-2.6.11.2/drivers/usb/host/ehci-sched.c 2005-03-18 14:04:57.000000000 +0100 @@ -208,7 +208,7 @@ here = here.qh->qh_next; continue; case Q_TYPE_SITD: - if (same_tt (dev, here.itd->urb->dev)) { + if (same_tt (dev, here.sitd->urb->dev)) { u16 mask; mask = le32_to_cpu (here.sitd @@ -218,7 +218,7 @@ if (mask & uf_mask) break; } - type = Q_NEXT_TYPE (here.qh->hw_next); + type = Q_NEXT_TYPE (here.sitd->hw_next); here = here.sitd->sitd_next; continue; // case Q_TYPE_FSTN: @@ -1693,7 +1693,7 @@ /*-------------------------------------------------------------------------*/ #define SITD_ERRS (SITD_STS_ERR | SITD_STS_DBE | SITD_STS_BABBLE \ - | SITD_STS_XACT | SITD_STS_MMF | SITD_STS_STS) + | SITD_STS_XACT | SITD_STS_MMF) static unsigned sitd_complete (