usb: musb: cppi41: fix condition to call cppi41_trans_done().
authorTakeyoshi Kikuchi <kikuchi@centurysys.co.jp>
Mon, 2 Mar 2015 02:03:51 +0000 (11:03 +0900)
committerFelipe Balbi <balbi@ti.com>
Wed, 11 Mar 2015 16:34:37 +0000 (11:34 -0500)
commit72a472d2f912292457d6e3579df342c1138f26d5
tree734a482582a52e7ebbe70c955d7b28d4922b97ee
parent168bdb88c3ab1f66c061a6220c18939ef20ba42e
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>
drivers/usb/musb/musb_cppi41.c