diff options
-rw-r--r-- | CHANGELOG | 2 | ||||
-rw-r--r-- | common/cmd_scsi.c | 4 | ||||
-rw-r--r-- | common/cmd_usb.c | 4 |
3 files changed, 6 insertions, 4 deletions
@@ -2,6 +2,8 @@ Changes for U-Boot 1.1.3: ====================================================================== +* Fix byteorder problem in usbboot and scsiboot commands. + * Patch by Cajus Hahn, 04 Feb 2005: - don't insist on leading '/' for filename in ext2load - set default partition to useful value (1) in ext2load diff --git a/common/cmd_scsi.c b/common/cmd_scsi.c index 062b1c9..61309f9 100644 --- a/common/cmd_scsi.c +++ b/common/cmd_scsi.c @@ -269,7 +269,7 @@ int do_scsiboot (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]) hdr = (image_header_t *)addr; - if (hdr->ih_magic == IH_MAGIC) { + if (ntohl(hdr->ih_magic) == IH_MAGIC) { printf("\n** Bad Magic Number **\n"); return 1; } @@ -283,7 +283,7 @@ int do_scsiboot (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]) } print_image_hdr (hdr); - cnt = (hdr->ih_size + sizeof(image_header_t)); + cnt = (ntohl(hdr->ih_size) + sizeof(image_header_t)); cnt += info.blksz - 1; cnt /= info.blksz; cnt -= 1; diff --git a/common/cmd_usb.c b/common/cmd_usb.c index 3227db9..c6b5d14 100644 --- a/common/cmd_usb.c +++ b/common/cmd_usb.c @@ -387,7 +387,7 @@ int do_usbboot (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]) hdr = (image_header_t *)addr; - if (hdr->ih_magic != IH_MAGIC) { + if (ntohl(hdr->ih_magic) != IH_MAGIC) { printf("\n** Bad Magic Number **\n"); return 1; } @@ -402,7 +402,7 @@ int do_usbboot (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]) print_image_hdr (hdr); - cnt = (hdr->ih_size + sizeof(image_header_t)); + cnt = (ntohl(hdr->ih_size) + sizeof(image_header_t)); cnt += info.blksz - 1; cnt /= info.blksz; cnt -= 1; |