From b44a27885ff6e18f7a2ac03f4bfbb5dd23fee0d4 Mon Sep 17 00:00:00 2001 From: Felix Fietkau Date: Thu, 26 Nov 2015 16:40:11 +0000 Subject: [PATCH] kernel: revert a faulty upstream commit that was added with the spi-nor/m25p80 backport (fixes #20971) Signed-off-by: Felix Fietkau SVN-Revision: 47664 --- ...or-disable-protection-for-Winbond-fl.patch | 35 +++++++++++++++++++ ...25p80-mx-disable-software-protection.patch | 4 +-- ...or-disable-protection-for-Winbond-fl.patch | 35 +++++++++++++++++++ ...25p80-mx-disable-software-protection.patch | 4 +-- 4 files changed, 74 insertions(+), 4 deletions(-) create mode 100644 target/linux/generic/patches-4.1/141-Revert-mtd-spi-nor-disable-protection-for-Winbond-fl.patch create mode 100644 target/linux/generic/patches-4.3/141-Revert-mtd-spi-nor-disable-protection-for-Winbond-fl.patch diff --git a/target/linux/generic/patches-4.1/141-Revert-mtd-spi-nor-disable-protection-for-Winbond-fl.patch b/target/linux/generic/patches-4.1/141-Revert-mtd-spi-nor-disable-protection-for-Winbond-fl.patch new file mode 100644 index 0000000000..10b43d51bc --- /dev/null +++ b/target/linux/generic/patches-4.1/141-Revert-mtd-spi-nor-disable-protection-for-Winbond-fl.patch @@ -0,0 +1,35 @@ +From: Felix Fietkau +Date: Thu, 26 Nov 2015 17:03:46 +0100 +Subject: [PATCH] Revert "mtd: spi-nor: disable protection for Winbond flash at + startup" + +This reverts commit c6fc2171b249e73745c497b578b417a2946f1b2f. + +This commit is breaking read access on at least s25fl064k, but also +possibly other Spansion flash chips. + +Any mtd read seems to succeed, but simply returns a zero-filled buffer. + +Signed-off-by: Felix Fietkau +--- + +--- a/drivers/mtd/spi-nor/spi-nor.c ++++ b/drivers/mtd/spi-nor/spi-nor.c +@@ -1194,14 +1194,13 @@ int spi_nor_scan(struct spi_nor *nor, co + mutex_init(&nor->lock); + + /* +- * Atmel, SST, Intel/Numonyx, and others serial NOR tend to power up +- * with the software protection bits set ++ * Atmel, SST and Intel/Numonyx serial nor tend to power ++ * up with the software protection bits set + */ + + if (JEDEC_MFR(info) == SNOR_MFR_ATMEL || + JEDEC_MFR(info) == SNOR_MFR_INTEL || +- JEDEC_MFR(info) == SNOR_MFR_SST || +- JEDEC_MFR(info) == SNOR_MFR_WINBOND) { ++ JEDEC_MFR(info) == SNOR_MFR_SST) { + write_enable(nor); + write_sr(nor, 0); + } diff --git a/target/linux/generic/patches-4.1/465-m25p80-mx-disable-software-protection.patch b/target/linux/generic/patches-4.1/465-m25p80-mx-disable-software-protection.patch index dcf594bad1..e977e41a4b 100644 --- a/target/linux/generic/patches-4.1/465-m25p80-mx-disable-software-protection.patch +++ b/target/linux/generic/patches-4.1/465-m25p80-mx-disable-software-protection.patch @@ -9,6 +9,6 @@ Signed-off-by: Felix Fietkau if (JEDEC_MFR(info) == SNOR_MFR_ATMEL || JEDEC_MFR(info) == SNOR_MFR_INTEL || + JEDEC_MFR(info) == SNOR_MFR_MACRONIX || - JEDEC_MFR(info) == SNOR_MFR_SST || - JEDEC_MFR(info) == SNOR_MFR_WINBOND) { + JEDEC_MFR(info) == SNOR_MFR_SST) { write_enable(nor); + write_sr(nor, 0); diff --git a/target/linux/generic/patches-4.3/141-Revert-mtd-spi-nor-disable-protection-for-Winbond-fl.patch b/target/linux/generic/patches-4.3/141-Revert-mtd-spi-nor-disable-protection-for-Winbond-fl.patch new file mode 100644 index 0000000000..10b43d51bc --- /dev/null +++ b/target/linux/generic/patches-4.3/141-Revert-mtd-spi-nor-disable-protection-for-Winbond-fl.patch @@ -0,0 +1,35 @@ +From: Felix Fietkau +Date: Thu, 26 Nov 2015 17:03:46 +0100 +Subject: [PATCH] Revert "mtd: spi-nor: disable protection for Winbond flash at + startup" + +This reverts commit c6fc2171b249e73745c497b578b417a2946f1b2f. + +This commit is breaking read access on at least s25fl064k, but also +possibly other Spansion flash chips. + +Any mtd read seems to succeed, but simply returns a zero-filled buffer. + +Signed-off-by: Felix Fietkau +--- + +--- a/drivers/mtd/spi-nor/spi-nor.c ++++ b/drivers/mtd/spi-nor/spi-nor.c +@@ -1194,14 +1194,13 @@ int spi_nor_scan(struct spi_nor *nor, co + mutex_init(&nor->lock); + + /* +- * Atmel, SST, Intel/Numonyx, and others serial NOR tend to power up +- * with the software protection bits set ++ * Atmel, SST and Intel/Numonyx serial nor tend to power ++ * up with the software protection bits set + */ + + if (JEDEC_MFR(info) == SNOR_MFR_ATMEL || + JEDEC_MFR(info) == SNOR_MFR_INTEL || +- JEDEC_MFR(info) == SNOR_MFR_SST || +- JEDEC_MFR(info) == SNOR_MFR_WINBOND) { ++ JEDEC_MFR(info) == SNOR_MFR_SST) { + write_enable(nor); + write_sr(nor, 0); + } diff --git a/target/linux/generic/patches-4.3/465-m25p80-mx-disable-software-protection.patch b/target/linux/generic/patches-4.3/465-m25p80-mx-disable-software-protection.patch index dcf594bad1..e977e41a4b 100644 --- a/target/linux/generic/patches-4.3/465-m25p80-mx-disable-software-protection.patch +++ b/target/linux/generic/patches-4.3/465-m25p80-mx-disable-software-protection.patch @@ -9,6 +9,6 @@ Signed-off-by: Felix Fietkau if (JEDEC_MFR(info) == SNOR_MFR_ATMEL || JEDEC_MFR(info) == SNOR_MFR_INTEL || + JEDEC_MFR(info) == SNOR_MFR_MACRONIX || - JEDEC_MFR(info) == SNOR_MFR_SST || - JEDEC_MFR(info) == SNOR_MFR_WINBOND) { + JEDEC_MFR(info) == SNOR_MFR_SST) { write_enable(nor); + write_sr(nor, 0); -- 2.25.1