]> git.karo-electronics.de Git - karo-tx-uboot.git/blobdiff - common/usb_hub.c
dm: usb: Do not assume that first child is always a hub
[karo-tx-uboot.git] / common / usb_hub.c
index 7aac2201166300c2dab5a72a053c33ec408fab68..be01f4f257d9a1ec3ae2f9294d39e734ba683cc4 100644 (file)
@@ -79,7 +79,7 @@ static int usb_get_hub_status(struct usb_device *dev, void *data)
                        data, sizeof(struct usb_hub_status), USB_CNTL_TIMEOUT);
 }
 
-static int usb_get_port_status(struct usb_device *dev, int port, void *data)
+int usb_get_port_status(struct usb_device *dev, int port, void *data)
 {
        return usb_control_msg(dev, usb_rcvctrlpipe(dev, 0),
                        USB_REQ_GET_STATUS, USB_DIR_IN | USB_RT_PORT, 0, port,
@@ -271,7 +271,8 @@ int usb_hub_port_connect_change(struct usb_device *dev, int port)
        /* Reset the port */
        ret = legacy_hub_port_reset(dev, port, &portstatus);
        if (ret < 0) {
-               printf("cannot reset port %i!?\n", port + 1);
+               if (ret != -ENXIO)
+                       printf("cannot reset port %i!?\n", port + 1);
                return ret;
        }