usb: musb: NAK timeout scheme on bulk TX endpoint
authorAjay Kumar Gupta <ajay.gupta@ti.com>
Thu, 19 Jul 2012 08:11:59 +0000 (13:41 +0530)
committerFelipe Balbi <balbi@ti.com>
Fri, 3 Aug 2012 06:34:42 +0000 (09:34 +0300)
commitf283862f3b5cb1f3dde37b9d21007b299c083e66
treeadcb1195f9ad13fcb95c7e5feeff467afc1360d4
parent603fe2b21d9fcde2022f9b52d95027bea29fe9e3
usb: musb: NAK timeout scheme on bulk TX endpoint

Fixes endpoint starvation issue when more than one bulk QH is
multiplexed on the reserved bulk TX endpoint.

This patch sets the NAK timeout interval for such QHs, and when
a timeout triggers the next QH will be scheduled.

This scheme doesn't work for devices which are connected to a
high to full speed tree (transaction translator) as there is
no NAK timeout interrupt from the musb controller from such
devices.

Signed-off-by: Ajay Kumar Gupta <ajay.gupta@ti.com>
Signed-off-by: Felipe Balbi <balbi@ti.com>
drivers/usb/musb/musb_host.c