|
@@ -237,8 +237,10 @@ int musb_lowlevel_init(struct musb_host_data *host)
|
|
if (musb_readb(mbase, MUSB_DEVCTL) & MUSB_DEVCTL_HM)
|
|
if (musb_readb(mbase, MUSB_DEVCTL) & MUSB_DEVCTL_HM)
|
|
break;
|
|
break;
|
|
} while (get_timer(0) < timeout);
|
|
} while (get_timer(0) < timeout);
|
|
- if (get_timer(0) >= timeout)
|
|
|
|
|
|
+ if (get_timer(0) >= timeout) {
|
|
|
|
+ musb_stop(host->host);
|
|
return -ENODEV;
|
|
return -ENODEV;
|
|
|
|
+ }
|
|
|
|
|
|
_musb_reset_root_port(host, NULL);
|
|
_musb_reset_root_port(host, NULL);
|
|
host->host->is_active = 1;
|
|
host->host->is_active = 1;
|