[U-Boot] [PATCH v2 7/9] usb: add usb_int_msg_nonblock
Michal Suchanek
msuchanek at suse.de
Tue Jul 2 17:55:32 UTC 2019
Variant of the int_msg wrapper that does not introduce excessive retry
delay on error.
Signed-off-by: Michal Suchanek <msuchanek at suse.de>
---
v2: usb_submit_int_msg -> usb_int_msg
---
common/usb.c | 9 +++++++++
include/usb.h | 2 ++
2 files changed, 11 insertions(+)
diff --git a/common/usb.c b/common/usb.c
index f57c0e8cdf57..1bd60b24a555 100644
--- a/common/usb.c
+++ b/common/usb.c
@@ -200,6 +200,15 @@ int usb_int_msg(struct usb_device *dev, unsigned long pipe,
return submit_int_msg(dev, pipe, buffer, transfer_len, interval, false);
}
+/*
+ * submits an Interrupt Message without retry
+ */
+int usb_int_msg_nonblock(struct usb_device *dev, unsigned long pipe,
+ void *buffer, int transfer_len, int interval)
+{
+ return submit_int_msg(dev, pipe, buffer, transfer_len, interval, true);
+}
+
/*
* submits a control message and waits for comletion (at least timeout * 1ms)
* If timeout is 0, we don't wait for completion (used as example to set and
diff --git a/include/usb.h b/include/usb.h
index 6ca2eb30d08a..b0a079766652 100644
--- a/include/usb.h
+++ b/include/usb.h
@@ -263,6 +263,8 @@ int usb_bulk_msg(struct usb_device *dev, unsigned int pipe,
void *data, int len, int *actual_length, int timeout);
int usb_int_msg(struct usb_device *dev, unsigned long pipe,
void *buffer, int transfer_len, int interval);
+int usb_int_msg_nonblock(struct usb_device *dev, unsigned long pipe,
+ void *buffer, int transfer_len, int interval);
int usb_disable_asynch(int disable);
int usb_maxpacket(struct usb_device *dev, unsigned long pipe);
int usb_get_configuration_no(struct usb_device *dev, int cfgno,
--
2.21.0
More information about the U-Boot
mailing list