
On 03/15/2016 03:46 AM, Stefan Roese wrote:
Hi Stephan,
On 14.03.2016 18:31, Stephen Warren wrote:
On 03/14/2016 04:18 AM, Stefan Roese wrote:
This patch changes the USB port scanning procedure and timeout handling in the following ways:
+static int usb_device_list_scan(void)
...
- static int running;
- int ret = 0;
- /* Only run this loop once for each controller */
- if (running)
return 0;
- running = 1;
...
+out:
- /*
* This USB controller has has finished scanning all its connected
* USB devices. Set "running" back to 0, so that other USB
controllers
* will scan their devices too.
*/
- running = 0;
Doesn't this function only get called a single time from usb_hub_configure()? If so, I don't think the "running" variable is required.
Its called recursively, if hubs are stacked. So its called e.g. 5 times in this setup:
=> usb tree USB device tree: 1 Hub (480 Mb/s, 0mA) | u-boot EHCI Host Controller | +-2 Hub (480 Mb/s, 0mA) | +-3 Hub (480 Mb/s, 100mA) ...
Ah right. Mentioning recursion in the variable name or comment would be useful.