]> git.sur5r.net Git - openocd/blobdiff - src/jtag/amt_jtagaccel.c
- flash autoerase <on|off> cmd added, default is off - flash banks are calculated...
[openocd] / src / jtag / amt_jtagaccel.c
index ac2635207f701b1be9c3292ca6761f1ae63e26fd..f005be65d638a145bba0a91232eda738faf97de6 100644 (file)
@@ -27,9 +27,7 @@
 
 /* system includes */
 
-#ifndef _WIN32
-#include <sys/io.h>
-#else
+#ifdef _WIN32
 #include "errno.h"
 #endif /* _WIN32 */
 
 #include <fcntl.h>
 #include <sys/ioctl.h>
 #include <unistd.h>
+#else /* not PARPORT_USE_PPDEV */
+#ifndef _WIN32
+#include <sys/io.h>
+#endif
 #endif
 
 #if PARPORT_USE_GIVEIO == 1
@@ -331,6 +333,12 @@ int amt_jtagaccel_execute_queue(void)
        int scan_size;
        enum scan_type type;
        u8 *buffer;
+       int retval;
+       
+       /* return ERROR_OK, unless a jtag_read_buffer returns a failed check
+        * that wasn't handled by a caller-provided error handler
+        */ 
+       retval = ERROR_OK;
                
        while (cmd)
        {
@@ -379,7 +387,7 @@ int amt_jtagaccel_execute_queue(void)
                                type = jtag_scan_type(cmd->cmd.scan);
                                amt_jtagaccel_scan(cmd->cmd.scan->ir_scan, type, buffer, scan_size);
                                if (jtag_read_buffer(buffer, cmd->cmd.scan) != ERROR_OK)
-                                       return ERROR_JTAG_QUEUE_FAILED;
+                                       retval = ERROR_JTAG_QUEUE_FAILED;
                                if (buffer)
                                        free(buffer);
                                break;
@@ -396,7 +404,7 @@ int amt_jtagaccel_execute_queue(void)
                cmd = cmd->next;
        }
        
-       return ERROR_OK;
+       return retval;
 }
 
 #if PARPORT_USE_GIVEIO == 1