* [v2,2/2] usb: dwc3: ep0: Reset TRB counter for ep0 IN
@ 2018-01-10 21:11 Thinh Nguyen
0 siblings, 0 replies; 3+ messages in thread
From: Thinh Nguyen @ 2018-01-10 21:11 UTC (permalink / raw)
To: Felipe Balbi, Thinh Nguyen, linux-usb; +Cc: John Youn, stable
In control read transfer completion handler, the driver needs to reset
the TRB enqueue counter. Since there is one control endpoint structure
for each direction, we must also track the TRB enqueue counter for each
direction. Currently the driver only resets the TRB counter for control
OUT endpoint only. Check for the data direction and properly reset the
TRB counter from correct control endpoint.
Cc: stable@vger.kernel.org
Signed-off-by: Thinh Nguyen <thinhn@synopsys.com>
---
drivers/usb/dwc3/ep0.c | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/drivers/usb/dwc3/ep0.c b/drivers/usb/dwc3/ep0.c
index fd3e7ad2eb0e..618b4260f0d9 100644
--- a/drivers/usb/dwc3/ep0.c
+++ b/drivers/usb/dwc3/ep0.c
@@ -858,7 +858,12 @@ static void dwc3_ep0_complete_data(struct dwc3 *dwc,
trb++;
trb->ctrl &= ~DWC3_TRB_CTRL_HWO;
trace_dwc3_complete_trb(ep0, trb);
- ep0->trb_enqueue = 0;
+
+ if (r->direction)
+ dwc->eps[1]->trb_enqueue = 0;
+ else
+ dwc->eps[0]->trb_enqueue = 0;
+
dwc->ep0_bounced = false;
}
^ permalink raw reply related [flat|nested] 3+ messages in thread
* [v2,2/2] usb: dwc3: ep0: Reset TRB counter for ep0 IN
@ 2018-01-11 8:16 Felipe Balbi
0 siblings, 0 replies; 3+ messages in thread
From: Felipe Balbi @ 2018-01-11 8:16 UTC (permalink / raw)
To: Thinh Nguyen; +Cc: John Youn, stable
Hi,
Thinh Nguyen <Thinh.Nguyen@synopsys.com> writes:
> In control read transfer completion handler, the driver needs to reset
> the TRB enqueue counter. Since there is one control endpoint structure
> for each direction, we must also track the TRB enqueue counter for each
> direction. Currently the driver only resets the TRB counter for control
> OUT endpoint only. Check for the data direction and properly reset the
> TRB counter from correct control endpoint.
>
> Cc: stable@vger.kernel.org
> Signed-off-by: Thinh Nguyen <thinhn@synopsys.com>
missing Fixes tag
^ permalink raw reply [flat|nested] 3+ messages in thread
* [v2,2/2] usb: dwc3: ep0: Reset TRB counter for ep0 IN
@ 2018-01-11 20:57 Thinh Nguyen
0 siblings, 0 replies; 3+ messages in thread
From: Thinh Nguyen @ 2018-01-11 20:57 UTC (permalink / raw)
To: Felipe Balbi, Thinh Nguyen, linux-usb@vger.kernel.org
Cc: John Youn, stable@vger.kernel.org
Hi,
On 1/11/2018 12:16 AM, Felipe Balbi wrote:
>
> Hi,
>
> Thinh Nguyen <Thinh.Nguyen@synopsys.com> writes:
>> In control read transfer completion handler, the driver needs to reset
>> the TRB enqueue counter. Since there is one control endpoint structure
>> for each direction, we must also track the TRB enqueue counter for each
>> direction. Currently the driver only resets the TRB counter for control
>> OUT endpoint only. Check for the data direction and properly reset the
>> TRB counter from correct control endpoint.
>>
>> Cc: stable@vger.kernel.org
>> Signed-off-by: Thinh Nguyen <thinhn@synopsys.com>
>
> missing Fixes tag
Same with this patch. There's no particular commit that it fixes.
BR,
Thinh
---
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2018-01-11 20:57 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-01-11 8:16 [v2,2/2] usb: dwc3: ep0: Reset TRB counter for ep0 IN Felipe Balbi
-- strict thread matches above, loose matches on Subject: below --
2018-01-11 20:57 Thinh Nguyen
2018-01-10 21:11 Thinh Nguyen
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).