kernel: revert a faulty upstream commit that was added with the spi-nor/m25p80 backpo...
authorFelix Fietkau <nbd@openwrt.org>
Thu, 26 Nov 2015 16:40:11 +0000 (16:40 +0000)
committerFelix Fietkau <nbd@openwrt.org>
Thu, 26 Nov 2015 16:40:11 +0000 (16:40 +0000)
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
SVN-Revision: 47664

target/linux/generic/patches-4.1/141-Revert-mtd-spi-nor-disable-protection-for-Winbond-fl.patch [new file with mode: 0644]
target/linux/generic/patches-4.1/465-m25p80-mx-disable-software-protection.patch
target/linux/generic/patches-4.3/141-Revert-mtd-spi-nor-disable-protection-for-Winbond-fl.patch [new file with mode: 0644]
target/linux/generic/patches-4.3/465-m25p80-mx-disable-software-protection.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 (file)
index 0000000..10b43d5
--- /dev/null
@@ -0,0 +1,35 @@
+From: Felix Fietkau <nbd@openwrt.org>
+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 <nbd@openwrt.org>
+---
+
+--- 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);
+       }
index dcf594bad12b313f7f40de9bf61deec0cac9fe3b..e977e41a4b450be63144282483cf118b4f7ca453 100644 (file)
@@ -9,6 +9,6 @@ Signed-off-by: Felix Fietkau <nbd@openwrt.org>
        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 (file)
index 0000000..10b43d5
--- /dev/null
@@ -0,0 +1,35 @@
+From: Felix Fietkau <nbd@openwrt.org>
+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 <nbd@openwrt.org>
+---
+
+--- 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);
+       }
index dcf594bad12b313f7f40de9bf61deec0cac9fe3b..e977e41a4b450be63144282483cf118b4f7ca453 100644 (file)
@@ -9,6 +9,6 @@ Signed-off-by: Felix Fietkau <nbd@openwrt.org>
        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);