nds32: support multi-target debugging
[fw/openocd] / src / target / target_request.c
index 2b09df660ba0c5d824becd1478f77c6f42a2f2ef..df2fc34ee1d66b90b3e7f3c5a856244d2068b9da 100644 (file)
@@ -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;