diff --git a/src/drivers/boards/common/board_crashdump.c b/src/drivers/boards/common/board_crashdump.c
index afde200ce7a90e0ec4d1cd302a8d2d45cb0c07ec..20628820c2f979de6c8f9745a82fcd38533d5f9f 100644
--- a/src/drivers/boards/common/board_crashdump.c
+++ b/src/drivers/boards/common/board_crashdump.c
@@ -336,9 +336,15 @@ __EXPORT void board_crashdump(uintptr_t currentsp, FAR void *tcb, FAR const uint
 
 #endif /* BOARD_CRASHDUMP_RESET_ONLY */
 
-#if defined(CONFIG_BOARD_RESET_ON_CRASH)
-	board_reset(0);
-#endif
+	/* All boards need to do a reset here!
+	 *
+	 * Since we needed a chunk of ram to save the complete
+	 * context in and have corrupted it.  We can not allow
+	 * the OS to run again. We used &_sdata which is the lowest memory
+	 * and it could be used by the OS.
+	*/
+
+	board_reset(CONFIG_BOARD_ASSERT_RESET_VALUE);
 }
 
 #endif /* CONFIG_BOARD_CRASHDUMP */