Fix for incomplete byteorder fix in cmd_scsi.c and cmd_usb.c
authorwdenk <wdenk>
Fri, 4 Feb 2005 21:33:05 +0000 (21:33 +0000)
committerwdenk <wdenk>
Fri, 4 Feb 2005 21:33:05 +0000 (21:33 +0000)
common/cmd_scsi.c
common/cmd_usb.c

index 61309f90a44837291fee6fad406892d486f7e6a8..68e46b6389749493f5f7cb70edf933e6c5846e8f 100644 (file)
@@ -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));
index c6b5d140acad9cd46f0c497e69ab182504dc3e0a..0bf050b14dfc03b9c25972c682cbece522454c7b 100644 (file)
@@ -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);