[U-Boot] [PATCH] dfu: Disable default calculation of CRC32

Lukasz Majewski l.majewski at samsung.com
Tue Jun 10 12:25:59 CEST 2014


Patch (SHA1: bd694244db7bc969954)
dfu: Introduction of the "dfu_hash_algo" env variable for checksum method
setting

already introduced more generic handling of the crc32 calculation.
Up till now the CRC32 of received data was calculated unconditionally.
This patch changes this and from now - by default the crc32 is NOT
calculated anymore.

Signed-off-by: Lukasz Majewski <l.majewski at samsung.com>
Cc: Marek Vasut <marex at denx.de>
---
 drivers/dfu/dfu.c | 20 +++++++-------------
 1 file changed, 7 insertions(+), 13 deletions(-)

diff --git a/drivers/dfu/dfu.c b/drivers/dfu/dfu.c
index 5878f99..dc09ff6 100644
--- a/drivers/dfu/dfu.c
+++ b/drivers/dfu/dfu.c
@@ -106,21 +106,15 @@ static char *dfu_get_hash_algo(void)
 	char *s;
 
 	s = getenv("dfu_hash_algo");
-	/*
-	 * By default the legacy behaviour to calculate the crc32 hash
-	 * value is preserved.
-	 *
-	 * To disable calculation of the hash algorithm for received data
-	 * specify the "dfu_hash_algo = disabled" at your board envs.
-	 */
-	debug("%s: DFU hash method: %s\n", __func__, s ? s : "not specified");
-
-	if (!s || !strcmp(s, "crc32"))
-		return "crc32";
-
-	if (!strcmp(s, "disabled"))
+	if (!s)
 		return NULL;
 
+	if (!strcmp(s, "crc32")) {
+		debug("%s: DFU hash method: %s\n", __func__, s);
+		return s;
+	}
+
+	error("DFU hash method: %s not supported!\n", s);
 	return NULL;
 }
 
-- 
2.0.0.rc2



More information about the U-Boot mailing list