Hello, I'm writing a gadget driver runing on a TI Davinci ARM using the musb_hdrc controller driver (peripheral mode) and have run into the following: I'm writing 600k of data via bulk ep IN to host, breaking it up into 32k blocks per ep_request - PIO mode (although same occurs when using DMA)
It's been working up until recently when we turned on some code that is really hogging the processer. Now transfers seem to stall mid block - on host side (using USB analyzer) all reads from this endpoint get NAKed from this point on (but can still do read/write on other bulk ep's). I've included the kernel debug messages, it looks like the data is in the fifo ready to be read but no tx interrupt occurs. Also, not sure why the underrun messages are occuring : ------ ------ musb_interrupt 1344: <== IRQ peripheral usb0000 tx0008 rx0000 musb_g_tx 328: <== ep3in, txcsr 2004 musb_g_tx 354: underrun on ep3, req c5c1bee0 txstate 230: hw_ep3, maxpacket 512, fifo count 512, txcsr 2004 musb_write_fifo 276: TX ep3 fifo c801042c count 512 buf c5d04c00 txstate 308: ep3in TX/IN pio len 19968/32768, txcsr 2007, fifo 512/512 musb_interrupt 1344: <== IRQ peripheral usb0000 tx0008 rx0000 musb_g_tx 328: <== ep3in, txcsr 2004 musb_g_tx 354: underrun on ep3, req c5c1bee0 txstate 230: hw_ep3, maxpacket 512, fifo count 512, txcsr 2004 musb_write_fifo 276: TX ep3 fifo c801042c count 512 buf c5d04e00 txstate 308: ep3in TX/IN pio len 20480/32768, txcsr 2007, fifo 512/512 musb_interrupt 1344: <== IRQ peripheral usb0000 tx0008 rx0000 musb_g_tx 328: <== ep3in, txcsr 2004 musb_g_tx 354: underrun on ep3, req c5c1bee0 txstate 230: hw_ep3, maxpacket 512, fifo count 512, txcsr 2004 musb_write_fifo 276: TX ep3 fifo c801042c count 512 buf c5d05000 txstate 308: ep3in TX/IN pio len 20992/32768, txcsr 2007, fifo 512/512 *** STALLS HERE **** TP4100UA gadget: ep queued 32k --> ep3in 567232 bytes remaining musb_gadget_queue 935: <== to ep3in request=c5c1b560 TP4100UA gadget: ep queued 32k --> ep3in 534464 bytes remaining musb_gadget_queue 935: <== to ep3in request=c6efeee0 TP4100UA gadget: ep queued 32k --> ep3in 501696 bytes remaining ------ ------ musb_gadget_queue 935: <== to ep3in request=c6da6920 TP4100UA gadget: ep queued 32k --> ep3in 0 bytes remaining to send Kernel version is 2.6.10 Any help on this issue would be greatly appreciated. George ------------------------------------------------------------------------- This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/ _______________________________________________ [email protected] To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel
