Fix EHCI port reset.

In USB ehci driver, the port reset is not terminated. EHCI spec says "A host
 controller must terminate the reset and stabilize the state of the port within
 2 milliseconds". Without termination, a port stays at reset state. This is
 observed on ppc4xx(sequoia) boards.

Signed-off-by: Chris Zhang <chris@seamicro.com>
This commit is contained in:
Chris Zhang 2010-01-06 13:34:04 -08:00 committed by Remy Bohmer
parent b301be0599
commit b416191a14

View file

@ -708,6 +708,9 @@ ehci_submit_root(struct usb_device *dev, unsigned long pipe, void *buffer,
* root
*/
wait_ms(50);
/* terminate the reset */
ehci_writel(status_reg, reg & ~EHCI_PS_PR);
wait_ms(2);
portreset |= 1 << le16_to_cpu(req->index);
}
break;