diff options
author | Sascha Hauer <s.hauer@pengutronix.de> | 2009-09-09 11:37:29 +0200 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2009-09-09 11:51:22 +0200 |
commit | 3e4557a8b715d0e0643d0e2a9c2d7a8103f829fb (patch) | |
tree | da4fb32dcaa8734dcab1ca644d460948e60690e9 /drivers/usb | |
parent | 38fb079e3fa9ec8f3a84576d62ebf906db53b743 (diff) | |
download | barebox-3e4557a8b715d0e0643d0e2a9c2d7a8103f829fb.tar.gz barebox-3e4557a8b715d0e0643d0e2a9c2d7a8103f829fb.tar.xz |
usb: remove unnecessary code
When usb_bulk_msg is done we have our result. No need
to poll for 'done' after this function.
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'drivers/usb')
-rw-r--r-- | drivers/usb/usb.c | 22 |
1 files changed, 10 insertions, 12 deletions
diff --git a/drivers/usb/usb.c b/drivers/usb/usb.c index 51c28a2279..4655367723 100644 --- a/drivers/usb/usb.c +++ b/drivers/usb/usb.c @@ -320,7 +320,7 @@ static int usb_new_device(struct usb_device *dev) err = usb_get_descriptor(dev, USB_DT_DEVICE, 0, desc, 64); if (err < 0) { - USB_PRINTF("%s: usb_get_descriptor() failed\n", __func__); + USB_PRINTF("%s: usb_get_descriptor() failed with %d\n", __func__, err); return 1; } @@ -579,21 +579,19 @@ int usb_bulk_msg(struct usb_device *dev, unsigned int pipe, void *data, int len, int *actual_length, int timeout) { struct usb_host *host = dev->host; + int ret; if (len < 0) return -1; - dev->status = USB_ST_NOT_PROC; /*not yet processed */ - host->submit_bulk_msg(dev, pipe, data, len); - while (timeout--) { - if (!((volatile unsigned long)dev->status & USB_ST_NOT_PROC)) - break; - wait_ms(1); - } + + dev->status = USB_ST_NOT_PROC; /* not yet processed */ + ret = host->submit_bulk_msg(dev, pipe, data, len); + if (ret) + return ret; + *actual_length = dev->act_len; - if (dev->status == 0) - return 0; - else - return -1; + + return (dev->status == 0) ? 0 : -1; } |