Bläddra i källkod

Fix for incomplete byteorder fix in cmd_scsi.c and cmd_usb.c

wdenk 20 år sedan
förälder
incheckning
2f916943c9
2 ändrade filer med 3 tillägg och 1 borttagningar
  1. 1 0
      common/cmd_scsi.c
  2. 2 1
      common/cmd_usb.c

+ 1 - 0
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));

+ 2 - 1
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);