aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/usb/dwc3/gadget.c
diff options
context:
space:
mode:
authorFelipe Balbi <balbi@ti.com>2011-11-28 05:27:17 -0500
committerFelipe Balbi <balbi@ti.com>2011-12-21 06:24:46 -0500
commit42f8eb7a1087442e9710ce75b355c0f28aadbf96 (patch)
tree07280177242cfb046d4903709643c73b8df006e1 /drivers/usb/dwc3/gadget.c
parent68e823e24aea5227eaf20d6435485e733109d113 (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.c14
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