stable.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* Patch "mtd: nand: don't use read_buf for 8-bit ONFI transfers" has been added to the 3.14-stable tree
@ 2015-07-28 17:40 gregkh
  2015-07-28 17:49 ` Brian Norris
  0 siblings, 1 reply; 2+ messages in thread
From: gregkh @ 2015-07-28 17:40 UTC (permalink / raw)
  To: computersforpeace, ezequiel.garcia, gregkh, pekon, slash.tmp,
	u.kleine-koenig
  Cc: stable, stable-commits


This is a note to let you know that I've just added the patch titled

    mtd: nand: don't use read_buf for 8-bit ONFI transfers

to the 3.14-stable tree which can be found at:
    http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
     mtd-nand-don-t-use-read_buf-for-8-bit-onfi-transfers.patch
and it can be found in the queue-3.14 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let <stable@vger.kernel.org> know about it.


>From bd9c6e99b58255b9de1982711ac9487c9a2f18be Mon Sep 17 00:00:00 2001
From: Brian Norris <computersforpeace@gmail.com>
Date: Fri, 29 Nov 2013 22:04:28 -0800
Subject: mtd: nand: don't use read_buf for 8-bit ONFI transfers
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

From: Brian Norris <computersforpeace@gmail.com>

commit bd9c6e99b58255b9de1982711ac9487c9a2f18be upstream.

Use a repeated read_byte() instead of read_buf(), since for x16 buswidth
devices, we need to avoid the upper I/O[16:9] bits. See the following
commit for reference:

commit 05f7835975dad6b3b517f9e23415985e648fb875
Author: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Date:   Thu Dec 5 22:22:04 2013 +0100

    mtd: nand: don't use {read,write}_buf for 8-bit transfers

Now, I think that all barriers to probing ONFI on x16 devices are
removed, so remove the check from nand_flash_detect_onfi().

Tested on 8-bit ONFI NAND (Micron MT29F32G08CBADAWP).

Signed-off-by: Brian Norris <computersforpeace@gmail.com>
Tested-by: Ezequiel Garcia <ezequiel.garcia@free-electrons.com>
Tested-By: Pekon Gupta <pekon@ti.com>
Cc: Mason <slash.tmp@free.fr>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

---
 drivers/mtd/nand/nand_base.c |   14 +++-----------
 1 file changed, 3 insertions(+), 11 deletions(-)

--- a/drivers/mtd/nand/nand_base.c
+++ b/drivers/mtd/nand/nand_base.c
@@ -3063,7 +3063,7 @@ static int nand_flash_detect_onfi(struct
 					int *busw)
 {
 	struct nand_onfi_params *p = &chip->onfi_params;
-	int i;
+	int i, j;
 	int val;
 
 	/* Try ONFI for unknown chip or LP */
@@ -3072,18 +3072,10 @@ static int nand_flash_detect_onfi(struct
 		chip->read_byte(mtd) != 'F' || chip->read_byte(mtd) != 'I')
 		return 0;
 
-	/*
-	 * ONFI must be probed in 8-bit mode or with NAND_BUSWIDTH_AUTO, not
-	 * with NAND_BUSWIDTH_16
-	 */
-	if (chip->options & NAND_BUSWIDTH_16) {
-		pr_err("ONFI cannot be probed in 16-bit mode; aborting\n");
-		return 0;
-	}
-
 	chip->cmdfunc(mtd, NAND_CMD_PARAM, 0, -1);
 	for (i = 0; i < 3; i++) {
-		chip->read_buf(mtd, (uint8_t *)p, sizeof(*p));
+		for (j = 0; j < sizeof(*p); j++)
+			((uint8_t *)p)[j] = chip->read_byte(mtd);
 		if (onfi_crc16(ONFI_CRC_BASE, (uint8_t *)p, 254) ==
 				le16_to_cpu(p->crc)) {
 			break;


Patches currently in stable-queue which might be from computersforpeace@gmail.com are

queue-3.14/mtd-nand-fix-erroneous-read_buf-call-in-nand_write_page_raw_syndrome.patch
queue-3.14/mtd-fix-avoid-race-condition-when-accessing-mtd-usecount.patch
queue-3.14/mtd-nand-don-t-use-read_buf-for-8-bit-onfi-transfers.patch
queue-3.14/mtd-dc21285-use-raw-spinlock-functions-for-nw_gpio_lock.patch

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2015-07-28 17:49 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-07-28 17:40 Patch "mtd: nand: don't use read_buf for 8-bit ONFI transfers" has been added to the 3.14-stable tree gregkh
2015-07-28 17:49 ` Brian Norris

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).