]> git.sur5r.net Git - openocd/blobdiff - src/jtag/drivers/ftdi.c
swd: handle various failure conditions
[openocd] / src / jtag / drivers / ftdi.c
index 6406406aa093061223edc3502dc083726cb7d56e..c031fd36e8bdd2c853728ef5c300d8bb0127666d 100644 (file)
@@ -655,11 +655,6 @@ static int ftdi_initialize(void)
 
        freq = mpsse_set_frequency(mpsse_ctx, jtag_get_speed_khz() * 1000);
 
-       if (swd_mode)
-               ftdi_swd_switch_seq(NULL, JTAG_TO_SWD);
-       else
-               ftdi_swd_switch_seq(NULL, SWD_TO_JTAG);
-
        return mpsse_flush(mpsse_ctx);
 }
 
@@ -981,7 +976,7 @@ static int ftdi_swd_run_queue(struct adiv5_dap *dap)
                                                1 + 3 + (swd_cmd_queue[i].cmd & SWD_CMD_RnW ? 0 : 1), 32));
 
                if (ack != SWD_ACK_OK) {
-                       queued_retval = ack;
+                       queued_retval = ack == SWD_ACK_WAIT ? ERROR_WAIT : ERROR_FAIL;
                        goto skip;
 
                } else if (swd_cmd_queue[i].cmd & SWD_CMD_RnW) {