mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-11-25 06:00:43 +00:00
usb: Remove unnecessary portnr lookup from usb_new_device
If the device has a parent, it is instantiated from usb_hub_port_connect_change and the portnr is right there in dev->portnr, so there is no need for this whole dance to look it up. Signed-off-by: Hans de Goede <hdegoede@redhat.com>
This commit is contained in:
parent
46b7b2e802
commit
f7b9baf755
1 changed files with 2 additions and 17 deletions
19
common/usb.c
19
common/usb.c
|
@ -927,7 +927,6 @@ int usb_new_device(struct usb_device *dev)
|
||||||
* thread_id=5729457&forum_id=5398
|
* thread_id=5729457&forum_id=5398
|
||||||
*/
|
*/
|
||||||
__maybe_unused struct usb_device_descriptor *desc;
|
__maybe_unused struct usb_device_descriptor *desc;
|
||||||
int port = -1;
|
|
||||||
struct usb_device *parent = dev->parent;
|
struct usb_device *parent = dev->parent;
|
||||||
unsigned short portstatus;
|
unsigned short portstatus;
|
||||||
|
|
||||||
|
@ -965,24 +964,10 @@ int usb_new_device(struct usb_device *dev)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
if (parent) {
|
if (parent) {
|
||||||
int j;
|
|
||||||
|
|
||||||
/* find the port number we're at */
|
|
||||||
for (j = 0; j < parent->maxchild; j++) {
|
|
||||||
if (parent->children[j] == dev) {
|
|
||||||
port = j;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (port < 0) {
|
|
||||||
printf("usb_new_device:cannot locate device's port.\n");
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* reset the port for the second time */
|
/* reset the port for the second time */
|
||||||
err = hub_port_reset(dev->parent, port, &portstatus);
|
err = hub_port_reset(dev->parent, dev->portnr - 1, &portstatus);
|
||||||
if (err < 0) {
|
if (err < 0) {
|
||||||
printf("\n Couldn't reset port %i\n", port);
|
printf("\n Couldn't reset port %i\n", dev->portnr);
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue