diff --git a/common/cmd_scsi.c b/common/cmd_scsi.c index 61309f90a4..68e46b6389 100644 --- a/common/cmd_scsi.c +++ b/common/cmd_scsi.c @@ -281,6 +281,7 @@ int do_scsiboot (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]) puts ("\n** Bad Header Checksum **\n"); return 1; } + hdr->ih_hcrc = htonl(checksum); /* restore checksum for later use */ print_image_hdr (hdr); cnt = (ntohl(hdr->ih_size) + sizeof(image_header_t)); diff --git a/common/cmd_usb.c b/common/cmd_usb.c index c6b5d140ac..0bf050b14d 100644 --- a/common/cmd_usb.c +++ b/common/cmd_usb.c @@ -309,7 +309,7 @@ int do_usbboot (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]) { char *boot_device = NULL; char *ep; - int dev, part=0, rcode; + int dev, part=1, rcode; ulong addr, cnt, checksum; disk_partition_t info; image_header_t *hdr; @@ -399,6 +399,7 @@ int do_usbboot (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]) puts ("\n** Bad Header Checksum **\n"); return 1; } + hdr->ih_hcrc = htonl(checksum); /* restore checksum for later use */ print_image_hdr (hdr);