Thread (81 messages) 81 messages, 6 authors, 2011-07-20

Lifecycle

  1. Posted grinberg@compulab.co.il (Igor Grinberg)

[PATCH V6 4/4] MTD: pxa3xx_nand: enhance suspend and resume routine

From: Igor Grinberg <hidden>
Date: 2011-07-12 15:56:39

On 07/12/11 15:02, Daniel Mack wrote:
On Tue, Jul 12, 2011 at 1:39 PM, Daniel Mack [off-list ref] wrote:
quoted
On Tue, Jul 12, 2011 at 12:28 PM, Lei Wen [off-list ref] wrote:
quoted
This patch add protection on the suspend&resume path to prevent
some unexpected behavior, like interrupt occur at the very second
of resume back and it don't follow normal command path, which lead
to bug.

Signed-off-by: Lei Wen <redacted>
---
 drivers/mtd/nand/pxa3xx_nand.c |   28 ++++++++++++++++++++++++++++
 1 files changed, 28 insertions(+), 0 deletions(-)
[...]
quoted
@@ -1267,6 +1283,18 @@ static int pxa3xx_nand_resume(struct platform_device *pdev)
       info->cs = 0xff;
       clk_enable(info->clk);

+       /*
+        * As the spec, the NDSR would be updated to 0x1800 when
+        * do the nand_clk disable/enable.
+        * To prevent it damage state machine of the driver, clear
+        * all status before resume
+        */
+       nand_writel(nand, NDSR, NDSR_MASK);
This doesn't build:

 CC      drivers/mtd/nand/pxa3xx_nand.o
drivers/mtd/nand/pxa3xx_nand.c: In function 'pxa3xx_nand_resume':
drivers/mtd/nand/pxa3xx_nand.c:1292: error: 'nand' undeclared (first
use in this function)
drivers/mtd/nand/pxa3xx_nand.c:1292: error: (Each undeclared
identifier is reported only once
drivers/mtd/nand/pxa3xx_nand.c:1292: error: for each function it appears in.)
drivers/mtd/nand/pxa3xx_nand.c:1294: error: 'mtd' undeclared (first
use in this function)
make[3]: *** [drivers/mtd/nand/pxa3xx_nand.o] Error 1

I guess this was not even compile tested? Anyway, I did a trivial
fix-up and will test.
Also, with this (fixed) patch applied, the system doesn't resume at
all. No messages, it simply doesn't come back.
I was skeptic about the clock being disabled in Lei's patch,
as I observed system hangs if that clock was disabled back then in 2.6.31,
but wanted to give it a try, because things has changed since then.

Now I see, that Lei already sent v7 without clock toggling...



-- 
Regards,
Igor.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help