diff options
author | Paul Zimmerman <Paul.Zimmerman@synopsys.com> | 2012-02-17 17:10:16 -0500 |
---|---|---|
committer | Felipe Balbi <balbi@ti.com> | 2012-03-02 05:12:05 -0500 |
commit | 9bafa56c7cee5c6fa68de5924220abb220c7e229 (patch) | |
tree | ddc574916646b889d289e2c36ddf7aab37a54717 /drivers/usb/dwc3/gadget.c | |
parent | 27a78d6a283d6782438f72306746afe4bf44c215 (diff) |
usb: dwc3: fix bogus test in dwc3_gadget_start_isoc
Zero is a valid value for a microframe number. So remove the bogus
test for non-zero in dwc3_gadget_start_isoc().
Cc: stable@vger.kernel.org
Signed-off-by: Paul Zimmerman <paulz@synopsys.com>
Signed-off-by: Felipe Balbi <balbi@ti.com>
Diffstat (limited to 'drivers/usb/dwc3/gadget.c')
-rw-r--r-- | drivers/usb/dwc3/gadget.c | 16 |
1 files changed, 5 insertions, 11 deletions
diff --git a/drivers/usb/dwc3/gadget.c b/drivers/usb/dwc3/gadget.c index 60b75c302aa4..fac11491850f 100644 --- a/drivers/usb/dwc3/gadget.c +++ b/drivers/usb/dwc3/gadget.c | |||
@@ -1656,7 +1656,7 @@ static void dwc3_endpoint_transfer_complete(struct dwc3 *dwc, | |||
1656 | static void dwc3_gadget_start_isoc(struct dwc3 *dwc, | 1656 | static void dwc3_gadget_start_isoc(struct dwc3 *dwc, |
1657 | struct dwc3_ep *dep, const struct dwc3_event_depevt *event) | 1657 | struct dwc3_ep *dep, const struct dwc3_event_depevt *event) |
1658 | { | 1658 | { |
1659 | u32 uf; | 1659 | u32 uf, mask; |
1660 | 1660 | ||
1661 | if (list_empty(&dep->request_list)) { | 1661 | if (list_empty(&dep->request_list)) { |
1662 | dev_vdbg(dwc->dev, "ISOC ep %s run out for requests.\n", | 1662 | dev_vdbg(dwc->dev, "ISOC ep %s run out for requests.\n", |
@@ -1664,16 +1664,10 @@ static void dwc3_gadget_start_isoc(struct dwc3 *dwc, | |||
1664 | return; | 1664 | return; |
1665 | } | 1665 | } |
1666 | 1666 | ||
1667 | if (event->parameters) { | 1667 | mask = ~(dep->interval - 1); |
1668 | u32 mask; | 1668 | uf = event->parameters & mask; |
1669 | 1669 | /* 4 micro frames in the future */ | |
1670 | mask = ~(dep->interval - 1); | 1670 | uf += dep->interval * 4; |
1671 | uf = event->parameters & mask; | ||
1672 | /* 4 micro frames in the future */ | ||
1673 | uf += dep->interval * 4; | ||
1674 | } else { | ||
1675 | uf = 0; | ||
1676 | } | ||
1677 | 1671 | ||
1678 | __dwc3_gadget_kick_transfer(dep, uf, 1); | 1672 | __dwc3_gadget_kick_transfer(dep, uf, 1); |
1679 | } | 1673 | } |