mirror of
https://github.com/brain-hackers/u-boot-brain
synced 2024-10-04 18:40:42 +09:00
musb-new: Fix interrupt transfers not working
For bulk and ctrl transfers common/usb.c sets udev->status = USB_ST_NOT_PROC, but it does not do so for interrupt transfers. musb_uboot.c: submit_urb() however was waiting for USB_ST_NOT_PROC to become 0, and thus without anyone setting USB_ST_NOT_PROC would exit immediately for interrupt urbs, returning the urb status of EINPROGRESS as error. This commit fixes this, thereby also making usb_kbd.c work together with musb_new and CONFIG_SYS_USB_EVENT_POLL. Signed-off-by: Hans de Goede <hdegoede@redhat.com>
This commit is contained in:
parent
dc9a391270
commit
e8672e3f0e
@ -74,7 +74,7 @@ static int submit_urb(struct usb_hcd *hcd, struct urb *urb)
|
|||||||
if (ctrlc())
|
if (ctrlc())
|
||||||
return -EIO;
|
return -EIO;
|
||||||
host->isr(0, host);
|
host->isr(0, host);
|
||||||
} while ((urb->dev->status & USB_ST_NOT_PROC) &&
|
} while (urb->status == -EINPROGRESS &&
|
||||||
get_timer(0) < timeout);
|
get_timer(0) < timeout);
|
||||||
|
|
||||||
return urb->status;
|
return urb->status;
|
||||||
|
Loading…
Reference in New Issue
Block a user