public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
* [U-Boot] [PATCH 1/2] Revert "usb: hub: Parallelize power-cycling of root-hub ports"
@ 2013-07-08 17:02 Marek Vasut
  2013-07-08 17:02 ` [U-Boot] [PATCH 2/2] Revert "usb: hub: Power-cycle on " Marek Vasut
  2013-07-09 13:15 ` [U-Boot] [PATCH 1/2] Revert "usb: hub: Parallelize power-cycling of " Marek Vasut
  0 siblings, 2 replies; 3+ messages in thread
From: Marek Vasut @ 2013-07-08 17:02 UTC (permalink / raw)
  To: u-boot

This reverts commit 0bf796f7ae22086f0504f3297e9fb4e96aa04161.

This commit causes breakage of the EHCI, where on Tegra it is not
possible to run "usb reset" twice as it results in the board hang.

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Vivek Gautam <gautamvivek1987@gmail.com>
Cc: Stephen Warren <swarren@wwwdotorg.org>
---
 common/usb_hub.c |   19 +++++++------------
 1 file changed, 7 insertions(+), 12 deletions(-)

diff --git a/common/usb_hub.c b/common/usb_hub.c
index 774ba63..dd2056a 100644
--- a/common/usb_hub.c
+++ b/common/usb_hub.c
@@ -109,22 +109,19 @@ static void usb_hub_power_on(struct usb_hub_device *hub)
 	int ret;
 
 	dev = hub->pusb_dev;
-
-	/*
-	 * Enable power to the ports:
-	 * Here we Power-cycle the ports: aka,
-	 * turning them off and turning on again.
-	 */
+	/* Enable power to the ports */
 	debug("enabling power on all ports\n");
 	for (i = 0; i < dev->maxchild; i++) {
+		/*
+		 * Power-cycle the ports here: aka,
+		 * turning them off and turning on again.
+		 */
 		usb_clear_port_feature(dev, i + 1, USB_PORT_FEAT_POWER);
 		debug("port %d returns %lX\n", i + 1, dev->status);
-	}
 
-	/* Wait at least 2*bPwrOn2PwrGood for PP to change */
-	mdelay(pgood_delay);
+		/* Wait at least 2*bPwrOn2PwrGood for PP to change */
+		mdelay(pgood_delay);
 
-	for (i = 0; i < dev->maxchild; i++) {
 		ret = usb_get_port_status(dev, i + 1, portsts);
 		if (ret < 0) {
 			debug("port %d: get_port_status failed\n", i + 1);
@@ -145,9 +142,7 @@ static void usb_hub_power_on(struct usb_hub_device *hub)
 			debug("port %d: Port power change failed\n", i + 1);
 			return;
 		}
-	}
 
-	for (i = 0; i < dev->maxchild; i++) {
 		usb_set_port_feature(dev, i + 1, USB_PORT_FEAT_POWER);
 		debug("port %d returns %lX\n", i + 1, dev->status);
 	}
-- 
1.7.10.4

^ permalink raw reply related	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2013-07-09 13:15 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-07-08 17:02 [U-Boot] [PATCH 1/2] Revert "usb: hub: Parallelize power-cycling of root-hub ports" Marek Vasut
2013-07-08 17:02 ` [U-Boot] [PATCH 2/2] Revert "usb: hub: Power-cycle on " Marek Vasut
2013-07-09 13:15 ` [U-Boot] [PATCH 1/2] Revert "usb: hub: Parallelize power-cycling of " Marek Vasut

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox