Fix jtag_usb_location_equal for path members > 9
[fw/openocd] / src / jtag / drivers / presto.c
index 4046b22dd744cb208a6f3e6603264ceb3898d24b..43d669e3ee5b7960dcd796ecd80c64e776c54180 100644 (file)
@@ -34,7 +34,7 @@
 #include "bitq.h"
 
 /* PRESTO access library includes */
-#include <ftdi.h>
+#include "libftdi_helper.h"
 
 /* -------------------------------------------------------------------------- */
 
@@ -160,8 +160,8 @@ static int presto_open_libftdi(char *req_serial)
                return ERROR_JTAG_DEVICE_ERROR;
        }
 
-       if (ftdi_usb_purge_buffers(&presto->ftdic) < 0) {
-               LOG_ERROR("unable to purge PRESTO buffers");
+       if (ftdi_tcioflush(&presto->ftdic) < 0) {
+               LOG_ERROR("unable to flush PRESTO buffers");
                return ERROR_JTAG_DEVICE_ERROR;
        }
 
@@ -174,7 +174,7 @@ static int presto_open_libftdi(char *req_serial)
        if (presto_read(&presto_data, 1) != ERROR_OK) {
                LOG_DEBUG("no response from PRESTO, retrying");
 
-               if (ftdi_usb_purge_buffers(&presto->ftdic) < 0)
+               if (ftdi_tcioflush(&presto->ftdic) < 0)
                        return ERROR_JTAG_DEVICE_ERROR;
 
                presto_data = 0xD0;
@@ -511,8 +511,7 @@ static char *presto_serial;
 COMMAND_HANDLER(presto_handle_serial_command)
 {
        if (CMD_ARGC == 1) {
-               if (presto_serial)
-                       free(presto_serial);
+               free(presto_serial);
                presto_serial = strdup(CMD_ARGV[0]);
        } else
                return ERROR_COMMAND_SYNTAX_ERROR;
@@ -553,10 +552,8 @@ static int presto_jtag_quit(void)
        presto_close();
        LOG_INFO("PRESTO closed");
 
-       if (presto_serial) {
-               free(presto_serial);
-               presto_serial = NULL;
-       }
+       free(presto_serial);
+       presto_serial = NULL;
 
        return ERROR_OK;
 }