浏览代码

Fix yet another recently introduced bug.

wdenk 20 年之前
父节点
当前提交
b9649854f6
共有 1 个文件被更改,包括 2 次插入1 次删除
  1. 2 1
      common/cmd_ide.c

+ 2 - 1
common/cmd_ide.c

@@ -450,11 +450,12 @@ int do_diskboot (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
 	checksum = ntohl(hdr->ih_hcrc);
 	hdr->ih_hcrc = 0;
 
-	if (crc32 (0, (char *)&hdr, sizeof(image_header_t)) != checksum) {
+	if (crc32 (0, (char *)hdr, sizeof(image_header_t)) != checksum) {
 		puts ("\n** Bad Header Checksum **\n");
 		SHOW_BOOT_PROGRESS (-2);
 		return 1;
 	}
+	hdr->ih_hcrc = htonl(checksum); /* restore checksum for later use */
 
 	print_image_hdr (hdr);