X-Git-Url: http://developer.intra2net.com/git/?p=libftdi;a=blobdiff_plain;f=src%2Fftdi_stream.c;h=cf3acf57305124bab4ebcce74451ebf1ac1a4c89;hp=6b5b61ce3ff79be503d44757e57cd1b81a722b07;hb=fec556672a91df346f79ab3727b556ace25dff0d;hpb=3a55cda4af2de515d7c83738a12ffc95f8865091 diff --git a/src/ftdi_stream.c b/src/ftdi_stream.c index 6b5b61c..cf3acf5 100644 --- a/src/ftdi_stream.c +++ b/src/ftdi_stream.c @@ -41,6 +41,7 @@ #include #include +#include #include "ftdi.h" @@ -73,7 +74,7 @@ ftdi_readstream_cb(struct libusb_transfer *transfer) uint8_t *ptr = transfer->buffer; int length = transfer->actual_length; int numPackets = (length + packet_size - 1) / packet_size; - int res; + int res = 0; for (i = 0; i < numPackets; i++) { @@ -152,6 +153,13 @@ ftdi_readstream(struct ftdi_context *ftdi, int bufferSize = packetsPerTransfer * ftdi->max_packet_size; int xferIndex; int err = 0; + + /* Only FT2232H and FT232H know about the synchronous FIFO Mode*/ + if ((ftdi->type != TYPE_2232H) && (ftdi->type != TYPE_232H)) + { + fprintf(stderr,"Device doesn't support synchronous FIFO mode\n"); + return 1; + } /* We don't know in what state we are, switch to reset*/ if (ftdi_set_bitmode(ftdi, 0xff, BITMODE_RESET) < 0)