Skip to content

Commit

Permalink
usb: musb: Remove DMA ifdef for musb_gadget.c short_packet
Browse files Browse the repository at this point in the history
Let's get rid of the horrible ifdef in middle of the expression.
We can do it by adding a variable for short_packet and testing
it separately for DMA related code.

Signed-off-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Felipe Balbi <balbi@ti.com>
  • Loading branch information
Tony Lindgren authored and Felipe Balbi committed May 7, 2015
1 parent 729697a commit fb91cdd
Showing 1 changed file with 10 additions and 6 deletions.
16 changes: 10 additions & 6 deletions drivers/usb/musb/musb_gadget.c
Original file line number Diff line number Diff line change
Expand Up @@ -489,6 +489,7 @@ void musb_g_tx(struct musb *musb, u8 epnum)

if (request) {
u8 is_dma = 0;
bool short_packet = false;

if (dma && (csr & MUSB_TXCSR_DMAENAB)) {
is_dma = 1;
Expand All @@ -507,15 +508,18 @@ void musb_g_tx(struct musb *musb, u8 epnum)
* First, maybe a terminating short packet. Some DMA
* engines might handle this by themselves.
*/
if ((request->zero && request->length
if ((request->zero && request->length)
&& (request->length % musb_ep->packet_sz == 0)
&& (request->actual == request->length))
#if defined(CONFIG_USB_INVENTRA_DMA) || defined(CONFIG_USB_UX500_DMA)
|| (is_dma && (!dma->desired_mode ||
short_packet = true;

if ((musb_dma_inventra(musb) || musb_dma_ux500(musb)) &&
(is_dma && (!dma->desired_mode ||
(request->actual &
(musb_ep->packet_sz - 1))))
#endif
) {
(musb_ep->packet_sz - 1)))))
short_packet = true;

if (short_packet) {
/*
* On DMA completion, FIFO may not be
* available yet...
Expand Down

0 comments on commit fb91cdd

Please sign in to comment.