From 54fa2c5b51c564cce716942d26492437457980a4 Mon Sep 17 00:00:00 2001
From: Larry Johnson <lrj@acm.org>
Date: Tue, 20 Apr 2010 08:09:43 -0400
Subject: [PATCH] Move test for unnecessary memmove to memmove_wd()

Signed-off-by: Larry Johnson <lrj@acm.org>
---
 common/cmd_bootm.c | 7 ++-----
 common/image.c     | 3 +++
 2 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/common/cmd_bootm.c b/common/cmd_bootm.c
index 452686dd3d..da060098af 100644
--- a/common/cmd_bootm.c
+++ b/common/cmd_bootm.c
@@ -344,11 +344,8 @@ static int bootm_load_os(image_info_t os, ulong *load_end, int boot_progress)
 			printf ("   XIP %s ... ", type_name);
 		} else {
 			printf ("   Loading %s ... ", type_name);
-
-			if (load != image_start) {
-				memmove_wd ((void *)load,
-						(void *)image_start, image_len, CHUNKSZ);
-			}
+			memmove_wd ((void *)load, (void *)image_start,
+					image_len, CHUNKSZ);
 		}
 		*load_end = load + image_len;
 		puts("OK\n");
diff --git a/common/image.c b/common/image.c
index 9e4971303e..8d4be140f6 100644
--- a/common/image.c
+++ b/common/image.c
@@ -450,6 +450,9 @@ phys_size_t getenv_bootm_size(void)
 
 void memmove_wd (void *to, void *from, size_t len, ulong chunksz)
 {
+	if (to == from)
+		return;
+
 #if defined(CONFIG_HW_WATCHDOG) || defined(CONFIG_WATCHDOG)
 	while (len > 0) {
 		size_t tail = (len > chunksz) ? chunksz : len;
-- 
2.39.5