diff options
author | Felipe Balbi <balbi@ti.com> | 2011-11-28 05:27:17 -0500 |
---|---|---|
committer | Felipe Balbi <balbi@ti.com> | 2011-12-21 06:24:46 -0500 |
commit | 42f8eb7a1087442e9710ce75b355c0f28aadbf96 (patch) | |
tree | 07280177242cfb046d4903709643c73b8df006e1 /drivers/usb/dwc3/gadget.c | |
parent | 68e823e24aea5227eaf20d6435485e733109d113 (diff) |
usb: dwc3: gadget: don't force 'LST' always
the LST bit is to be set on the last of a series
of consecutive TRBs. We had a workaround for a
problem where data would get corrupted but that
doesn't happen anymore. It's likely that it was
caused by some FPGA instability during development
phase.
Signed-off-by: Felipe Balbi <balbi@ti.com>
Diffstat (limited to 'drivers/usb/dwc3/gadget.c')
-rw-r--r-- | drivers/usb/dwc3/gadget.c | 14 |
1 files changed, 4 insertions, 10 deletions
diff --git a/drivers/usb/dwc3/gadget.c b/drivers/usb/dwc3/gadget.c index 984580a18a38..0292b0617d72 100644 --- a/drivers/usb/dwc3/gadget.c +++ b/drivers/usb/dwc3/gadget.c | |||
@@ -672,16 +672,10 @@ static void dwc3_prepare_trbs(struct dwc3_ep *dep, bool starting) | |||
672 | if (list_empty(&dep->request_list)) | 672 | if (list_empty(&dep->request_list)) |
673 | last_one = 1; | 673 | last_one = 1; |
674 | 674 | ||
675 | /* | 675 | dwc3_prepare_one_trb(dep, req, last_one); |
676 | * FIXME we shouldn't need to set LST bit always but we are | 676 | |
677 | * facing some weird problem with the Hardware where it doesn't | 677 | if (last_one) |
678 | * complete even though it has been previously started. | 678 | break; |
679 | * | ||
680 | * While we're debugging the problem, as a workaround to | ||
681 | * multiple TRBs handling, use only one TRB at a time. | ||
682 | */ | ||
683 | dwc3_prepare_one_trb(dep, req, true); | ||
684 | break; | ||
685 | } | 679 | } |
686 | } | 680 | } |
687 | 681 | ||