From: Paul Fertser Date: Sun, 15 Jun 2014 14:33:30 +0000 (+0400) Subject: flash/nor/kinetis: prevent segfaulting with an HLA X-Git-Tag: v0.9.0-rc1~383 X-Git-Url: https://review.openocd.org/gitweb?p=openocd.git;a=commitdiff_plain;h=3aee451f275efe0176af3bcbaf12aec7361893aa flash/nor/kinetis: prevent segfaulting with an HLA HLAs do not provide direct DAP access, so the best we can do about it is skipping it. Change-Id: I877ef8fd2d86e40e7442a637cdba182cfd60e05a Signed-off-by: Paul Fertser Reviewed-on: http://openocd.zylin.com/2173 Tested-by: jenkins Reviewed-by: Andreas Fritiofson --- diff --git a/src/flash/nor/kinetis.c b/src/flash/nor/kinetis.c index 42677a385c..6f47461e54 100644 --- a/src/flash/nor/kinetis.c +++ b/src/flash/nor/kinetis.c @@ -298,6 +298,11 @@ COMMAND_HANDLER(kinetis_mdm_mass_erase) struct cortex_m_common *cortex_m = target_to_cm(target); struct adiv5_dap *dap = cortex_m->armv7m.arm.dap; + if (!dap) { + LOG_ERROR("Cannot perform mass erase with a high-level adapter"); + return ERROR_FAIL; + } + int retval; const uint8_t original_ap = dap->ap_current; @@ -379,6 +384,11 @@ COMMAND_HANDLER(kinetis_check_flash_security_status) struct cortex_m_common *cortex_m = target_to_cm(target); struct adiv5_dap *dap = cortex_m->armv7m.arm.dap; + if (!dap) { + LOG_WARNING("Cannot check flash security status with a high-level adapter"); + return ERROR_OK; + } + uint32_t val; int retval; const uint8_t origninal_ap = dap->ap_current;