summaryrefslogtreecommitdiffstats
path: root/meta-openbmc-machines/meta-openpower/common/recipes-bsp/skiboot/skiboot/0002-arch_flash_arm-Don-t-assume-mtd-partitions-are-short.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta-openbmc-machines/meta-openpower/common/recipes-bsp/skiboot/skiboot/0002-arch_flash_arm-Don-t-assume-mtd-partitions-are-short.patch')
-rw-r--r--meta-openbmc-machines/meta-openpower/common/recipes-bsp/skiboot/skiboot/0002-arch_flash_arm-Don-t-assume-mtd-partitions-are-short.patch52
1 files changed, 52 insertions, 0 deletions
diff --git a/meta-openbmc-machines/meta-openpower/common/recipes-bsp/skiboot/skiboot/0002-arch_flash_arm-Don-t-assume-mtd-partitions-are-short.patch b/meta-openbmc-machines/meta-openpower/common/recipes-bsp/skiboot/skiboot/0002-arch_flash_arm-Don-t-assume-mtd-partitions-are-short.patch
new file mode 100644
index 000000000..d05659ad2
--- /dev/null
+++ b/meta-openbmc-machines/meta-openpower/common/recipes-bsp/skiboot/skiboot/0002-arch_flash_arm-Don-t-assume-mtd-partitions-are-short.patch
@@ -0,0 +1,52 @@
+From 112b4eebe614ebc384dbb7806ae8508474b44212 Mon Sep 17 00:00:00 2001
+From: Joel Stanley <joel@jms.id.au>
+Date: Wed, 16 Nov 2016 13:33:32 +1030
+Subject: [PATCH] arch_flash_arm: Don't assume mtd labels are short
+To: skiboot@lists.ozlabs.org,
+ Cyril Bur <cyril.bur@au1.ibm.com>
+
+pflash relies on arch_flash_arm parsing /proc/mtd to discover the pnor
+partition. It helpfully uses strcasestr so it can handle the string
+changing, which is what has happened as we moved to upstream compliant
+mtd device tree bindings.
+
+We currently have a string like this:
+
+dev: size erasesize name
+mtd0: 00060000 00001000 "u-boot"
+mtd1: 00020000 00001000 "u-boot-env"
+mtd2: 00280000 00001000 "kernel"
+mtd3: 001c0000 00001000 "initramfs"
+mtd4: 01740000 00001000 "rofs"
+mtd5: 00400000 00001000 "rwfs"
+mtd6: 02000000 00001000 "1e620000.flash-controller:flash@1"
+mtd7: 08000000 00001000 "1e630000.flash-controller:pnor@0"
+
+Unfortunately arch_flash_arm assumes the string will be at most 50
+characters. That's right before the label we're looking for starts so
+we ignore that line and keep searching.
+
+Fix it by allowing for a 255 character line.
+
+Fixes: 48ab7ce09504 (external/pflash: Add --mtd)
+Signed-off-by: Joel Stanley <joel@jms.id.au>
+---
+ external/common/arch_flash_arm.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/external/common/arch_flash_arm.c b/external/common/arch_flash_arm.c
+index bb8800ff556d..3cdd41ded0a9 100644
+--- a/external/common/arch_flash_arm.c
++++ b/external/common/arch_flash_arm.c
+@@ -241,7 +241,7 @@ static char *get_dev_mtd(enum flash_access access)
+ {
+ FILE *f;
+ char *ret = NULL, *pos = NULL;
+- char line[50];
++ char line[255];
+
+ if (access != BMC_MTD && access != PNOR_MTD)
+ return NULL;
+--
+2.10.2
+
OpenPOWER on IntegriCloud