diff options
author | Spencer Oliver <spen@spen-soft.co.uk> | 2013-08-02 12:57:30 +0100 |
---|---|---|
committer | Spencer Oliver <spen@spen-soft.co.uk> | 2013-09-08 16:12:27 +0000 |
commit | 854a11422124bd1a417729f0cbfd40737a06d164 (patch) | |
tree | 9e9062f50dfa1a69e38ca19d92d3e86bf70b0d04 | |
parent | 9e02c99d7b2eba0988ab17a9af8b95b5fe065c5e (diff) |
target: check target supports target_request_data
Make sure the target support target requests before we enable any receivers.
Change-Id: I8ce42922eaff76fb5e7a114da716f2a6585a6ab5
Signed-off-by: Spencer Oliver <spen@spen-soft.co.uk>
Reviewed-on: http://openocd.zylin.com/1536
Tested-by: jenkins
Reviewed-by: Andreas Fritiofson <andreas.fritiofson@gmail.com>
-rw-r--r-- | src/target/target_request.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/target/target_request.c b/src/target/target_request.c index 2b09df66..df2fc34e 100644 --- a/src/target/target_request.c +++ b/src/target/target_request.c @@ -122,6 +122,8 @@ int target_request(struct target *target, uint32_t request) { target_req_cmd_t target_req_cmd = request & 0xff; + assert(target->type->target_request_data); + /* Record that we got a target message for back-off algorithm */ got_message = true; @@ -256,6 +258,11 @@ COMMAND_HANDLER(handle_target_request_debugmsgs_command) int receiving = 0; + if (target->type->target_request_data == NULL) { + LOG_ERROR("Target %s does not support target requests", target_name(target)); + return ERROR_OK; + } + /* see if reciever is already registered */ if (find_debug_msg_receiver(CMD_CTX, target) != NULL) receiving = 1; |