В сообщении от 30 августа 2010 17:34:22 автор Vasily Khoruzhick написал: > From: Fabian Godehardt <fg@xxxxxxxxx> > > This is a patch that seems to make the USB hangs on the S3C244X go away. > At least a good amount of ping torture didn't make them come back so far. > > The issue is that, if there are several back-to-back packets, sometimes no > interrupt is generated for one of them. This seems to be caused by the > mysterious dual packet mode, which the USB hardware enters automatically > if the endpoint size is half that of the FIFO. (On the 244X, this is the > normal situation for bulk data endpoints.) > > There is also a timing factor in this. It seems that what happens is that > the USB hardware automatically sends an acknowledgement if there is only > one packet in the FIFO (the FIFO has space for two). If another packet > arrives before the host has retrieved and acknowledged the previous one, > no interrupt is generated for that second one. > > However, there may be an indication. There is one undocumented bit (none > of the 244x manuals document it), OUT_CRS1_REG[1], that seems to be set > suspiciously often when this condition occurs. There is also > CLR_DATA_TOGGLE, OUT_CRS1_REG[7], which may have a function related to > this. (The Samsung manual is rather terse on that, as usual.) > > This needs to be examined further. For now, the patch seems to do the > trick. Ping
Attachment:
signature.asc
Description: This is a digitally signed message part.