}
part = simple_strtoul(++ep, NULL, 16);
}
- if (get_partition_info (&ide_dev_desc[dev], part, &info)) {
+ if (get_partition_info (ide_dev_desc, part, &info)) {
SHOW_BOOT_PROGRESS (-1);
return 1;
}
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);
dbuf+=1;
}
}
-#else
+#else
volatile ushort *pbuf = (ushort *)(ATA_CURR_BASE(dev)+ATA_DATA_REG);
ushort *dbuf = (ushort *)sect_buf;