diff options
author | Pratyush Anand <pratyush.anand@st.com> | 2012-05-25 18:54:56 +0530 |
---|---|---|
committer | Felipe Balbi <balbi@ti.com> | 2012-06-04 18:23:04 +0300 |
commit | d6d6ec7b8854ab62f7f3907656d5d29eb47532e7 (patch) | |
tree | b2efe8b1eb005a331747277053267c2714f94969 /drivers/usb/dwc3/core.h | |
parent | d05b81824e672a48b3566634622849866de2b787 (diff) | |
download | linux-stable-d6d6ec7b8854ab62f7f3907656d5d29eb47532e7.tar.gz linux-stable-d6d6ec7b8854ab62f7f3907656d5d29eb47532e7.tar.bz2 linux-stable-d6d6ec7b8854ab62f7f3907656d5d29eb47532e7.zip |
usb: dwc3: Fix missed isoc IN transaction
If an IN transfer is missed on isoc endpoint, then driver must insure
that next ep_queue is properly handled.
This patch fixes this issue by starting a new transfer for next queued
request.
Signed-off-by: Pratyush Anand <pratyush.anand@st.com>
Signed-off-by: Felipe Balbi <balbi@ti.com>
Diffstat (limited to 'drivers/usb/dwc3/core.h')
-rw-r--r-- | drivers/usb/dwc3/core.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/usb/dwc3/core.h b/drivers/usb/dwc3/core.h index e402022b9e15..fcb8be2ec1c9 100644 --- a/drivers/usb/dwc3/core.h +++ b/drivers/usb/dwc3/core.h @@ -405,6 +405,7 @@ struct dwc3_event_buffer { * @number: endpoint number (1 - 15) * @type: set to bmAttributes & USB_ENDPOINT_XFERTYPE_MASK * @res_trans_idx: Resource transfer index + * @current_uf: Current uf received through last event parameter * @interval: the intervall on which the ISOC transfer is started * @name: a human readable name e.g. ep1out-bulk * @direction: true for TX, false for RX @@ -428,6 +429,7 @@ struct dwc3_ep { #define DWC3_EP_WEDGE (1 << 2) #define DWC3_EP_BUSY (1 << 4) #define DWC3_EP_PENDING_REQUEST (1 << 5) +#define DWC3_EP_MISSED_ISOC (1 << 6) /* This last one is specific to EP0 */ #define DWC3_EP0_DIR_IN (1 << 31) @@ -437,6 +439,7 @@ struct dwc3_ep { u8 number; u8 type; u8 res_trans_idx; + u16 current_uf; u32 interval; char name[20]; |