[PATCH] USB: EHCI and Freescale 83xx quirk
On the MPC834x processors the multiport host (MPH) EHCI controller has an erratum in which the port number in the queue head expects to be 0..N-1 instead of 1..N. If we are on one of these chips we subtract one from the port number before putting it into the queue head. Signed-off-by: Kumar Gala <galak@kernel.crashing.org> Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
80cb9aee01
commit
8cd42e97bf
@@ -721,7 +721,14 @@ qh_make (
|
||||
info1 |= maxp << 16;
|
||||
|
||||
info2 |= (EHCI_TUNE_MULT_TT << 30);
|
||||
info2 |= urb->dev->ttport << 23;
|
||||
|
||||
/* Some Freescale processors have an erratum in which the
|
||||
* port number in the queue head was 0..N-1 instead of 1..N.
|
||||
*/
|
||||
if (ehci_has_fsl_portno_bug(ehci))
|
||||
info2 |= (urb->dev->ttport-1) << 23;
|
||||
else
|
||||
info2 |= urb->dev->ttport << 23;
|
||||
|
||||
/* set the address of the TT; for TDI's integrated
|
||||
* root hub tt, leave it zeroed.
|
||||
|
Reference in New Issue
Block a user