Hi All, I am working on embedded OHCI USB host controller on which i am using linux-2.6.14.
With Isochronous transfers after some time my board is getting hanged. I observed that the TD Hash table is getting corrupted. According to the OHCI Specification there is chance for 8 PSWs but in the driver we are using only 2 PSW.but my hardware is always doing 8PSW DMA Transfer there by hardware is overwriting the Software fields sitting immediately after the PSW. struct td { /* first fields are hardware-specified */ __hc32 hwINFO; /* transfer info bitmask */ __hc32 hwCBP; /* Current Buffer Pointer (or 0) */ __hc32 hwNextTD; /* Next TD Pointer */ __hc32 hwBE; /* Memory Buffer End Pointer */ /* PSW is only for ISO. Only 1 PSW entry is used, but on * big-endian PPC hardware that's the second entry. */ #define MAXPSW 2 __hc16 hwPSW [MAXPSW]; /* rest are purely for the driver's use */ __u8 index; struct ed *ed; struct td *td_hash; /* dma-->td hashtable */ struct td *next_dl_td; struct urb *urb; } What is reason for giving only 2 PSW can we give extra 6 PSW to overcome this issue. Is it a hardware issue. Regards Kumar ------------------------------------------------------------------------- Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT & business topics through brief surveys -- and earn cash http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV _______________________________________________ Linux-usb-users@lists.sourceforge.net To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-users