field.out_value = NULL;
field.in_value = str9xpec_info->options;
-
jtag_add_dr_scan(tap, 1, &field, TAP_IDLE);
jtag_execute_queue();
str9xpec_info = bank->driver_priv;
- tap0 = str9xpec_info->tap;
-
/* remove arm core from chain - enter turbo mode */
+ tap0 = str9xpec_info->tap;
+ if (tap0 == NULL) {
+ /* things are *WRONG* */
+ command_print(CMD_CTX, "**STR9FLASH** (tap0) invalid chain?");
+ return ERROR_FAIL;
+ }
tap1 = tap0->next_tap;
if (tap1 == NULL) {
/* things are *WRONG* */
command_print(CMD_CTX, "**STR9FLASH** (tap1) invalid chain?");
- return ERROR_OK;
+ return ERROR_FAIL;
}
tap2 = tap1->next_tap;
if (tap2 == NULL) {
/* things are *WRONG* */
command_print(CMD_CTX, "**STR9FLASH** (tap2) invalid chain?");
- return ERROR_OK;
+ return ERROR_FAIL;
}
/* enable turbo mode - TURBO-PROG-ENABLE */