Signed-off-by: Jonas Hörberg <jhorberg@sauer-danfoss.com>
---
 src/jtag/core.c |   12 ++++++++----
 1 files changed, 8 insertions(+), 4 deletions(-)

diff --git a/src/jtag/core.c b/src/jtag/core.c
index c1b64bb..d864ab3 100644
--- a/src/jtag/core.c
+++ b/src/jtag/core.c
@@ -124,7 +124,7 @@ static struct jtag_event_callback *jtag_event_callbacks;
 static int speed_khz = 0;
 /* speed to fallback to when RCLK is requested but not supported */
 static int rclk_fallback_speed_khz = 0;
-static enum {CLOCK_MODE_SPEED, CLOCK_MODE_KHZ, CLOCK_MODE_RCLK} clock_mode;
+static enum {CLOCK_MODE_UNSELECTED, CLOCK_MODE_KHZ, CLOCK_MODE_RCLK} clock_mode;
 static int jtag_speed = 0;
 
 static struct jtag_interface *jtag = NULL;
@@ -1362,6 +1362,13 @@ int adapter_init(struct command_context *cmd_ctx)
 		return ERROR_JTAG_INVALID_INTERFACE;
 	}
 
+	if (CLOCK_MODE_UNSELECTED == clock_mode)
+	{
+		LOG_ERROR("An adapter speed is not selected in the init script."
+			" Insert a call to adapter_speed or jtag_rclk to proceed.");
+		return ERROR_JTAG_INIT_FAILED;
+	}
+
 	jtag = jtag_interface;
 	if (jtag_interface->init() != ERROR_OK)
 	{
@@ -1637,9 +1644,6 @@ int jtag_get_speed(void)
 	int speed = 0; /* avoid -O3 warning */
 	switch(clock_mode)
 	{
-		case CLOCK_MODE_SPEED:
-			speed = jtag_speed;
-			break;
 		case CLOCK_MODE_KHZ:
 			adapter_khz_to_speed(jtag_get_speed_khz(), &speed);
 			break;
