From: Uwe Bonnes Date: Thu, 20 Jan 2011 15:51:21 +0000 (+0100) Subject: Safer initialisation of ftdi_readstream X-Git-Tag: v1.0rc1~140 X-Git-Url: http://developer.intra2net.com/git/?p=libftdi;a=commitdiff_plain;h=a3886df38983951eb4b0abffd17aaf1a9018d42b Safer initialisation of ftdi_readstream Applies to both branches -- Uwe Bonnes bon@elektron.ikp.physik.tu-darmstadt.de --- diff --git a/src/ftdi_stream.c b/src/ftdi_stream.c index 6c40327..6b5b61c 100644 --- a/src/ftdi_stream.c +++ b/src/ftdi_stream.c @@ -153,6 +153,20 @@ ftdi_readstream(struct ftdi_context *ftdi, int xferIndex; int err = 0; + /* We don't know in what state we are, switch to reset*/ + if (ftdi_set_bitmode(ftdi, 0xff, BITMODE_RESET) < 0) + { + fprintf(stderr,"Can't reset mode\n"); + return 1; + } + + /* Purge anything remaining in the buffers*/ + if (ftdi_usb_purge_buffers(ftdi) < 0) + { + fprintf(stderr,"Can't Purge\n"); + return 1; + } + /* * Set up all transfers */