From 30bf54e62a7926a483b4e36015bb4eb1372e6303 Mon Sep 17 00:00:00 2001 From: David Brownell Date: Sun, 16 Dec 2007 22:37:40 -0800 Subject: [PATCH] USB: PS3: Fix EHCI ISO transfer bug This adds a workaround for an issue reported with ISO transfers on some EHCI controllers, most recently with VIA KT800 and PS3 EHCI silicon. The issue is that the silicon doesn't necessarily seem to be done using ISO DMA descriptors (itd, sitd) when it marks them inactive. (One theory is that the ill-defined mechanism where hardware caches periodic transfer descriptors isn't invalidating their state...) With such silicon, quick re-use of those descriptors makes trouble. Waiting until the next frame seems to be a sufficient workaround. This patch ensures that the relevant descriptors aren't available for immediate re-use. It does so by not recycling them until after issuing the completion callback which would reuse them by enqueueing an URB and thus (re)allocating ISO DMA descriptors. Signed-off-by: David Brownell Acked-by: Geoff Levand Cc: Masashi Kimoto Signed-off-by: Greg Kroah-Hartman --- Reading git-format-patch failed