Commit 8b2c433e authored by Paul Zimmerman's avatar Paul Zimmerman Committed by Greg Kroah-Hartman

usb: dwc3: fix bogus test in dwc3_gadget_start_isoc

commit 9bafa56c upstream.

Zero is a valid value for a microframe number. So remove the bogus
test for non-zero in dwc3_gadget_start_isoc().
Signed-off-by: default avatarPaul Zimmerman <paulz@synopsys.com>
Signed-off-by: default avatarFelipe Balbi <balbi@ti.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 6fc05c7f
...@@ -1405,7 +1405,7 @@ static void dwc3_endpoint_transfer_complete(struct dwc3 *dwc, ...@@ -1405,7 +1405,7 @@ static void dwc3_endpoint_transfer_complete(struct dwc3 *dwc,
static void dwc3_gadget_start_isoc(struct dwc3 *dwc, static void dwc3_gadget_start_isoc(struct dwc3 *dwc,
struct dwc3_ep *dep, const struct dwc3_event_depevt *event) struct dwc3_ep *dep, const struct dwc3_event_depevt *event)
{ {
u32 uf; u32 uf, mask;
if (list_empty(&dep->request_list)) { if (list_empty(&dep->request_list)) {
dev_vdbg(dwc->dev, "ISOC ep %s run out for requests.\n", dev_vdbg(dwc->dev, "ISOC ep %s run out for requests.\n",
...@@ -1413,16 +1413,10 @@ static void dwc3_gadget_start_isoc(struct dwc3 *dwc, ...@@ -1413,16 +1413,10 @@ static void dwc3_gadget_start_isoc(struct dwc3 *dwc,
return; return;
} }
if (event->parameters) { mask = ~(dep->interval - 1);
u32 mask; uf = event->parameters & mask;
/* 4 micro frames in the future */
mask = ~(dep->interval - 1); uf += dep->interval * 4;
uf = event->parameters & mask;
/* 4 micro frames in the future */
uf += dep->interval * 4;
} else {
uf = 0;
}
__dwc3_gadget_kick_transfer(dep, uf, 1); __dwc3_gadget_kick_transfer(dep, uf, 1);
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment