connect AR9271(USB wifi) to AM335x, and send a flood ping from Mac OSX,
AR9271 is stopped.
on USB bus, the following occurs.
 - OUT transaction is ACKed (NYET).
 - IN transaction is ACKed (512bytes).
 - PING-NAK transaction is continued for about 2 seconds (AR9271 timeout?).
In current imprementation, IN-transaction is not completed because it
checks the empty of TX-FIFO in cppi41_dma_callback().
As a result, communication to AR9271 stops.
This patch modified to check the empty of TX-FIFO only when OUT-transaction.
Signed-off-by: Takeyoshi Kikuchi <kikuchi@centurysys.co.jp>
Signed-off-by: Felipe Balbi <balbi@ti.com>
                        transferred < cppi41_channel->packet_sz)
                cppi41_channel->prog_len = 0;
 
-       empty = musb_is_tx_fifo_empty(hw_ep);
-       if (empty) {
+       if (cppi41_channel->is_tx)
+               empty = musb_is_tx_fifo_empty(hw_ep);
+
+       if (!cppi41_channel->is_tx || empty) {
                cppi41_trans_done(cppi41_channel);
                goto out;
        }