flash Kinetis: fix mdm check_security regression in JTAG mode

Commit 6d5b4d709c causes failed assert
when JTAG transport is selected:

src/target/arm_adi_v5.h:346: dap_queue_ap_read:
  Assertion `ap->dap->ops != ((void *)0)' failed.

As check_security runs early in examine-start event, dap->ops must
be checked.

Change-Id: Ibd8312a3c668fbce834eed9790eabeed794117aa
Signed-off-by: Tomas Vanek <vanekt@fbl.cz>
Reviewed-on: http://openocd.zylin.com/3712
Tested-by: jenkins
Reviewed-by: Andreas Färber <afaerber@suse.de>
Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk>
This commit is contained in:
Tomas Vanek 2016-08-21 15:27:23 +02:00 committed by Andreas Fritiofson
parent 9d98f8b7a7
commit 5fa3bfa074
1 changed files with 4 additions and 1 deletions

View File

@ -609,6 +609,9 @@ COMMAND_HANDLER(kinetis_check_flash_security_status)
return ERROR_OK; return ERROR_OK;
} }
if (!dap->ops)
return ERROR_OK; /* too early to check, in JTAG mode ops may not be initialised */
uint32_t val; uint32_t val;
int retval; int retval;
@ -623,7 +626,7 @@ COMMAND_HANDLER(kinetis_check_flash_security_status)
} }
if (val == 0) if (val == 0)
return ERROR_OK; return ERROR_OK; /* dap not yet initialised */
bool found = false; bool found = false;
for (size_t i = 0; i < ARRAY_SIZE(kinetis_known_mdm_ids); i++) { for (size_t i = 0; i < ARRAY_SIZE(kinetis_known_mdm_ids); i++) {