mirror of
https://github.com/Fishwaldo/u-boot.git
synced 2025-03-28 10:01:32 +00:00
usb: legacy_hub_port_reset() check and propagate usb_set_port_feature() errors
Actually check for usb_set_port_feature() errors and propagate these if they happen. Signed-off-by: Hans de Goede <hdegoede@redhat.com>
This commit is contained in:
parent
651d95c8eb
commit
ad84a42fc5
1 changed files with 4 additions and 2 deletions
|
@ -157,7 +157,7 @@ static inline char *portspeed(int portstatus)
|
||||||
int legacy_hub_port_reset(struct usb_device *dev, int port,
|
int legacy_hub_port_reset(struct usb_device *dev, int port,
|
||||||
unsigned short *portstat)
|
unsigned short *portstat)
|
||||||
{
|
{
|
||||||
int tries;
|
int err, tries;
|
||||||
ALLOC_CACHE_ALIGN_BUFFER(struct usb_port_status, portsts, 1);
|
ALLOC_CACHE_ALIGN_BUFFER(struct usb_port_status, portsts, 1);
|
||||||
unsigned short portstatus, portchange;
|
unsigned short portstatus, portchange;
|
||||||
|
|
||||||
|
@ -168,8 +168,10 @@ int legacy_hub_port_reset(struct usb_device *dev, int port,
|
||||||
debug("%s: resetting port %d...\n", __func__, port + 1);
|
debug("%s: resetting port %d...\n", __func__, port + 1);
|
||||||
#endif
|
#endif
|
||||||
for (tries = 0; tries < MAX_TRIES; tries++) {
|
for (tries = 0; tries < MAX_TRIES; tries++) {
|
||||||
|
err = usb_set_port_feature(dev, port + 1, USB_PORT_FEAT_RESET);
|
||||||
|
if (err < 0)
|
||||||
|
return err;
|
||||||
|
|
||||||
usb_set_port_feature(dev, port + 1, USB_PORT_FEAT_RESET);
|
|
||||||
mdelay(200);
|
mdelay(200);
|
||||||
|
|
||||||
if (usb_get_port_status(dev, port + 1, portsts) < 0) {
|
if (usb_get_port_status(dev, port + 1, portsts) < 0) {
|
||||||
|
|
Loading…
Add table
Reference in a new issue