aboutsummaryrefslogtreecommitdiffstats
path: root/package/boot/uboot-oxnas/patches/010-capacity-is-unsigned.patch
diff options
context:
space:
mode:
Diffstat (limited to 'package/boot/uboot-oxnas/patches/010-capacity-is-unsigned.patch')
-rw-r--r--package/boot/uboot-oxnas/patches/010-capacity-is-unsigned.patch42
1 files changed, 42 insertions, 0 deletions
diff --git a/package/boot/uboot-oxnas/patches/010-capacity-is-unsigned.patch b/package/boot/uboot-oxnas/patches/010-capacity-is-unsigned.patch
new file mode 100644
index 0000000..3990aa9
--- /dev/null
+++ b/package/boot/uboot-oxnas/patches/010-capacity-is-unsigned.patch
@@ -0,0 +1,42 @@
+From df9fb90120423c4c55b66a5dc09af23f605a406b Mon Sep 17 00:00:00 2001
+From: Daniel Golle <daniel@makrotopia.org>
+Date: Mon, 1 Dec 2014 21:37:25 +0100
+Subject: [PATCH] disk/part.c: use unsigned format when printing capacity
+To: u-boot@lists.denx.de
+
+Large disks otherwise produce highly unplausible output such as
+ Capacity: 1907729.0 MB = 1863.0 GB (-387938128 x 512)
+
+As supposedly all size-related decimals are unsigned, use unsigned
+format in printf statement, resulting in a correct capacity being
+displayed:
+ Capacity: 1907729.0 MB = 1863.0 GB (3907029168 x 512)
+
+Signed-off-by: Daniel Golle <daniel@makrotopia.org>
+---
+ disk/part.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/disk/part.c b/disk/part.c
+index 43485c9..7c67ea6 100644
+--- a/disk/part.c
++++ b/disk/part.c
+@@ -229,13 +229,13 @@ void dev_print (block_dev_desc_t *dev_desc)
+ printf (" Supports 48-bit addressing\n");
+ #endif
+ #if defined(CONFIG_SYS_64BIT_LBA)
+- printf (" Capacity: %ld.%ld MB = %ld.%ld GB (%Ld x %ld)\n",
++ printf (" Capacity: %lu.%lu MB = %lu.%lu GB (%Lu x %lu)\n",
+ mb_quot, mb_rem,
+ gb_quot, gb_rem,
+ lba,
+ dev_desc->blksz);
+ #else
+- printf (" Capacity: %ld.%ld MB = %ld.%ld GB (%ld x %ld)\n",
++ printf (" Capacity: %lu.%lu MB = %lu.%lu GB (%lu x %lu)\n",
+ mb_quot, mb_rem,
+ gb_quot, gb_rem,
+ (ulong)lba,
+--
+2.1.3
+