X-Git-Url: https://git.zerfleddert.de/cgi-bin/gitweb.cgi/usb-driver/blobdiff_plain/4af4753dc42ce756e91d803da1824478e11695f0..a270f1e37a49ae072740de471bfe98658dea3b5e:/jtagkey.c diff --git a/jtagkey.c b/jtagkey.c index 2be1954..bf1cded 100644 --- a/jtagkey.c +++ b/jtagkey.c @@ -114,9 +114,9 @@ int jtagkey_transfer(WD_TRANSFER *tr, int fd, unsigned int request, int ppbase, int len; DPRINTF("writing %d bytes due to %d following reads in %d chunks or full buffer\n", writepos-writebuf, nread, num); - len = writepos-pos; - while (pos < writepos) { + len = writepos-pos; + if (len > usb_maxlen) len = usb_maxlen; @@ -209,7 +209,9 @@ int jtagkey_transfer(WD_TRANSFER *tr, int fd, unsigned int request, int ppbase, DPRINTF("writing %d bytes\n", writepos-writebuf); for (i=0; i 0 && tr[i].cmdTrans == PP_WRITE && tr[i-1].cmdTrans == PP_READ) + ftdi_read_pins(&ftdic, readbuf+i); } #ifdef DEBUG @@ -225,7 +227,6 @@ int jtagkey_transfer(WD_TRANSFER *tr, int fd, unsigned int request, int ppbase, } readpos = readbuf; - readpos += 0; for (i = 0; i < num; i++) { DPRINTF("dwPort: 0x%lx, cmdTrans: %lu, dwbytes: %ld, fautoinc: %ld, dwoptions: %ld\n",