diff options
author | Gregory Herrero <gregory.herrero@intel.com> | 2015-09-22 09:16:52 -0400 |
---|---|---|
committer | Felipe Balbi <balbi@ti.com> | 2015-10-01 13:40:18 -0400 |
commit | dd81dd7c8178c430040dc98c8144d4998ba2f7fb (patch) | |
tree | e3dcd0a3c17a002e9056813c1e56b477f39355e5 /drivers/usb/dwc2/hcd_queue.c | |
parent | fe9b1773c989b261a9747940a6cf61f77b4e2685 (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.c | 3 |
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); |