diff --git a/common/usb.c b/common/usb.c index 60daa10..bd0f8d5 100644 --- a/common/usb.c +++ b/common/usb.c @@ -34,7 +34,7 @@ #include #include #include - +#include #include #ifdef CONFIG_4xx #include @@ -60,6 +60,7 @@ int usb_init(void) void *ctrl; struct usb_device *dev; int i, start_index = 0; + int ret; dev_index = 0; asynch_allowed = 1; @@ -75,7 +76,13 @@ int usb_init(void) for (i = 0; i < CONFIG_USB_MAX_CONTROLLER_COUNT; i++) { /* init low_level USB */ printf("USB%d: ", i); - if (usb_lowlevel_init(i, USB_INIT_HOST, &ctrl)) { + ret = usb_lowlevel_init(i, USB_INIT_HOST, &ctrl); + if (ret == -ENODEV) { /* No such device. */ + puts("Port not available.\n"); + continue; + } + + if (ret) { /* Other error. */ puts("lowlevel init failed\n"); continue; }