Fix yet another recently introduced bug. LABEL_2005_02_08_1615
authorwdenk <wdenk>
Tue, 8 Feb 2005 15:29:01 +0000 (15:29 +0000)
committerwdenk <wdenk>
Tue, 8 Feb 2005 15:29:01 +0000 (15:29 +0000)
common/cmd_ide.c

index 915ee76..1cc88e3 100644 (file)
@@ -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;
 
        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;
        }
                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);
 
 
        print_image_hdr (hdr);