aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/usb/dwc2/hcd_queue.c
diff options
context:
space:
mode:
authorGregory Herrero <gregory.herrero@intel.com>2015-09-22 09:16:52 -0400
committerFelipe Balbi <balbi@ti.com>2015-10-01 13:40:18 -0400
commitdd81dd7c8178c430040dc98c8144d4998ba2f7fb (patch)
treee3dcd0a3c17a002e9056813c1e56b477f39355e5 /drivers/usb/dwc2/hcd_queue.c
parentfe9b1773c989b261a9747940a6cf61f77b4e2685 (diff)
usb: dwc2: host: use correct frame number during qh init
On first qh initialization, hsotg->frame_number is not corresponding to reality. So read it from host controller to get correct value. Signed-off-by: Gregory Herrero <gregory.herrero@intel.com> Signed-off-by: Mian Yousaf Kaukab <yousaf.kaukab@intel.com> Tested-by: Robert Baldyga <r.baldyga@samsung.com> Tested-by: Dinh Nguyen <dinguyen@opensource.altera.com> Tested-by: John Youn <johnyoun@synopsys.com> Acked-by: John Youn <johnyoun@synopsys.com> Signed-off-by: Felipe Balbi <balbi@ti.com>
Diffstat (limited to 'drivers/usb/dwc2/hcd_queue.c')
-rw-r--r--drivers/usb/dwc2/hcd_queue.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/usb/dwc2/hcd_queue.c b/drivers/usb/dwc2/hcd_queue.c
index 801bd9d9c4bd..7d8d06cfe3c1 100644
--- a/drivers/usb/dwc2/hcd_queue.c
+++ b/drivers/usb/dwc2/hcd_queue.c
@@ -106,6 +106,9 @@ static void dwc2_qh_init(struct dwc2_hsotg *hsotg, struct dwc2_qh *qh,
106 USB_SPEED_HIGH : dev_speed, qh->ep_is_in, 106 USB_SPEED_HIGH : dev_speed, qh->ep_is_in,
107 qh->ep_type == USB_ENDPOINT_XFER_ISOC, 107 qh->ep_type == USB_ENDPOINT_XFER_ISOC,
108 bytecount)); 108 bytecount));
109
110 /* Ensure frame_number corresponds to the reality */
111 hsotg->frame_number = dwc2_hcd_get_frame_number(hsotg);
109 /* Start in a slightly future (micro)frame */ 112 /* Start in a slightly future (micro)frame */
110 qh->sched_frame = dwc2_frame_num_inc(hsotg->frame_number, 113 qh->sched_frame = dwc2_frame_num_inc(hsotg->frame_number,
111 SCHEDULE_SLOP); 114 SCHEDULE_SLOP);