usb: musb: cppi41: fix condition to call cppi41_trans_done().
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>
This commit is contained in:
parent
168bdb88c3
commit
72a472d2f9
|
@ -250,8 +250,10 @@ static void cppi41_dma_callback(void *private_data)
|
|||
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;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue