From: David Brownell Date: Fri, 7 Mar 2008 21:49:42 +0000 (-0800) Subject: USB: fix ehci unlink regressions X-Git-Tag: v2.6.25-rc6~45^2~1 X-Git-Url: http://git.openpandora.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=e82cc1288fa57857c6af8c57f3d07096d4bcd9d9;p=pandora-kernel.git USB: fix ehci unlink regressions The recent EHCI driver update to split the IAA watchdog timer out from the other timers made several things work better, but not everything; and it created a couple new issues in bugzilla. Ergo this patch: - Handle a should-be-rare SMP race between the watchdog firing and (very late) IAA interrupts; - Remove a shouldn't-have-been-added WARN_ON() test; - Guard against one observed OOPS; - If this watchdog fires during clean HC shutdown, it should act as a NOP instead of interfering with the shutdown sequence; - Guard against silicon errata hypothesized by some vendors: * IAA status latch broken, but IAAD cleared OK; * IAAD wasn't cleared when IAA status got reported; The WARN_ON is in bugzilla as 10168; the OOPS as 10078; these are both regressions. Signed-off-by: David Brownell Tested-by: Gordon Farquharson Signed-off-by: Greg Kroah-Hartman --- Reading git-diff-tree failed