diff options
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.patch | 52 |
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 + |