diff options
Diffstat (limited to 'drivers/usb/dwc3/ep0.c')
-rw-r--r-- | drivers/usb/dwc3/ep0.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/drivers/usb/dwc3/ep0.c b/drivers/usb/dwc3/ep0.c index 827e376bfa97..75e6cb044eb2 100644 --- a/drivers/usb/dwc3/ep0.c +++ b/drivers/usb/dwc3/ep0.c | |||
@@ -990,6 +990,8 @@ static void __dwc3_ep0_do_control_data(struct dwc3 *dwc, | |||
990 | DWC3_TRBCTL_CONTROL_DATA, | 990 | DWC3_TRBCTL_CONTROL_DATA, |
991 | true); | 991 | true); |
992 | 992 | ||
993 | req->trb = &dwc->ep0_trb[dep->trb_enqueue - 1]; | ||
994 | |||
993 | /* Now prepare one extra TRB to align transfer size */ | 995 | /* Now prepare one extra TRB to align transfer size */ |
994 | dwc3_ep0_prepare_one_trb(dep, dwc->bounce_addr, | 996 | dwc3_ep0_prepare_one_trb(dep, dwc->bounce_addr, |
995 | maxpacket - rem, | 997 | maxpacket - rem, |
@@ -1015,6 +1017,8 @@ static void __dwc3_ep0_do_control_data(struct dwc3 *dwc, | |||
1015 | DWC3_TRBCTL_CONTROL_DATA, | 1017 | DWC3_TRBCTL_CONTROL_DATA, |
1016 | true); | 1018 | true); |
1017 | 1019 | ||
1020 | req->trb = &dwc->ep0_trb[dep->trb_enqueue - 1]; | ||
1021 | |||
1018 | /* Now prepare one extra TRB to align transfer size */ | 1022 | /* Now prepare one extra TRB to align transfer size */ |
1019 | dwc3_ep0_prepare_one_trb(dep, dwc->bounce_addr, | 1023 | dwc3_ep0_prepare_one_trb(dep, dwc->bounce_addr, |
1020 | 0, DWC3_TRBCTL_CONTROL_DATA, | 1024 | 0, DWC3_TRBCTL_CONTROL_DATA, |
@@ -1029,6 +1033,9 @@ static void __dwc3_ep0_do_control_data(struct dwc3 *dwc, | |||
1029 | dwc3_ep0_prepare_one_trb(dep, req->request.dma, | 1033 | dwc3_ep0_prepare_one_trb(dep, req->request.dma, |
1030 | req->request.length, DWC3_TRBCTL_CONTROL_DATA, | 1034 | req->request.length, DWC3_TRBCTL_CONTROL_DATA, |
1031 | false); | 1035 | false); |
1036 | |||
1037 | req->trb = &dwc->ep0_trb[dep->trb_enqueue]; | ||
1038 | |||
1032 | ret = dwc3_ep0_start_trans(dep); | 1039 | ret = dwc3_ep0_start_trans(dep); |
1033 | } | 1040 | } |
1034 | 1041 | ||