Hi, > I wanted to check that we can indeed start the HC again by rewriting PTDs > back into the ATL buffer, so I just hacked a quick check into > isp116x_recv_queue() to detect active PTDs. In that case I only write the > first 16 bits of the PTD header back into the device and then recheck the > PTD and, voila, there is the rest of the data. With that in place, I have > been able to successfully register my USB mouse. In the log below, you will
So you indeed found a way to restart it without making a full read-write cycle. Currently I use the following scheme: 1. After SOFInt, allocate buffer space for transfers. If the data to be transferred is larger than can fit into ATL for one frame, allocate only for part of it (512 bytes for now) and mark those td-s as PARTIAL so we know later that there is more data to be transferred for them. 2. Initialize ptd-s, write buffer to fifo. 3. After ATLInt, read from fifo. 4. Copy data obtained for IN transfers (even if data underrun occurred and ptd is ACTIVE) to the databuffers of their corresponding td-s. 5. Mark all td-s corresponding to ACTIVE ptd-s as PARTIAL, if the CC was not a fatal error for them (TD_NOTACCESSED is not a fatal error here). 6. Retire all finished, i.e., non-PARTIAL td-s as previously implemented by Lothar (they will be linked to the Done queue). Set all PARTIAL td-s as TD_NOTACCESSED, and reactivate their queues so that after the next SOFInt these td-s will be processed further. Start again from 1. at SOFInt. I got the above scheme working yesterday evening. I have tested it only with 2 devices. The first one was a mouse, which was detected as a HID device; didn't test the mouse's functioning yet though. Another was a full-speed device, a CF card reader, which worked beautifully: it was recognized as a scsi device, mounting/umounting functioned, reading/writing to both vfat and ext2 Compact Flashes seemed to work reliably. All this functioned with both devices attached simultaneously. I will test with more devices today. Olav ------------------------------------------------------- SF email is sponsored by - The IT Product Guide Read honest & candid reviews on hundreds of IT Products from real users. Discover which products truly live up to the hype. Start reading now. http://productguide.itmanagersjournal.com/ _______________________________________________ [EMAIL PROTECTED] To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel