From: "Alex Samoutin" <samoutin@hotbox.ru>
To: "Jörn Engel" <joern@wohnheim.fh-wedel.de>
Cc: linux-mtd@lists.infradead.org
Subject: Re: Fw: corrupt my NAND flash device
Date: Fri, 25 Apr 2003 15:23:36 -0700 [thread overview]
Message-ID: <000701c30b79$539ecbd0$1a00a8c0@itc.intrinsyc.com> (raw)
In-Reply-To: 20030425130134.GC27144@wohnheim.fh-wedel.de
> > cause. As I mentioned NAND driver (nand.c) has lock mechanism to prevent
> > this situation. But it doesn't work in my case. I don't know why - the
code
> > look Ok. A added some additional locks and it solved this problem.
>
> Ah, sorry for me misinterpreting you original post. I thought, you had
> found a problem in yaffs.
>
> Do you have a patch for this? Even if it is ugly and slow, correct
> code is better than broken one.
>
This is diff file for drivers/mtd/nand.c (I made to many changes to create
a patch)
151a152,154
> static struct semaphore sam;
> #define NAND_WRITE_RETRY 1
>
362c365
<
---
> int ret = 0;
370c373,381
<
---
> #ifdef NAND_WRITE_RETRY
> repeat:
> if (ret>3){
> printk ("%s: " "Failed write verify, page 0x%08x ", __FUNCTION__, page);
> return -EIO;
>
> }
> #endif
>
476a488,491
> #ifdef NAND_WRITE_RETRY
> ++ret;
> goto repeat;
> #endif
485c500,504
< DEBUG (MTD_DEBUG_LEVEL0, "%s: " "Failed write verify, page 0x%08x ",
__FUNCTION__, page);
---
> DEBUG (MTD_DEBUG_LEVEL0, "%s: " "Failed write verify OOB, page 0x%08x
", __FUNCTION__, page);
> #ifdef NAND_WRITE_RETRY
> ++ret;
> goto repeat;
> #endif
507a527,530
> #ifdef NAND_WRITE_RETRY
> ++ret;
> goto repeat;
> #endif
557c580
<
---
> down(&sam);
701a725
> up(&sam);
737c761
<
---
> down(&sam);
763c787
<
---
> up(&sam);
807c831
<
---
> down(&sam);
851c875,876
<
---
> up(&sam);
>
880a906
> down(&sam);
944c970,971
<
---
> up(&sam);
>
990a1018
> down(&sam);
1063a1092
> up(&sam);
1098c1127,1128
<
---
>
> down(&sam);
1189a1220
> up(&sam);
1373a1405
> init_MUTEX(&sam);
next prev parent reply other threads:[~2003-04-25 22:24 UTC|newest]
Thread overview: 31+ messages / expand[flat|nested] mbox.gz Atom feed top
2003-04-22 20:03 Fw: corrupt my NAND flash device Alex Samoutin
2003-04-22 20:26 ` Jörn Engel
2003-04-22 20:59 ` Jörn Engel
2003-04-23 20:45 ` Charles Manning
2003-04-24 18:25 ` Alex Samoutin
2003-04-25 13:01 ` Jörn Engel
2003-04-25 22:23 ` Alex Samoutin [this message]
2003-04-25 23:10 ` Thayne Harbaugh
2003-04-26 10:23 ` Jörn Engel
2003-04-28 15:02 ` Thayne Harbaugh
2003-04-28 21:14 ` Charles Manning
2003-04-28 22:59 ` Thomas Gleixner
2003-04-29 1:23 ` Charles Manning
2003-04-29 8:03 ` Thomas Gleixner
2003-04-29 19:37 ` Charles Manning
2003-04-29 22:04 ` Thomas Gleixner
2003-04-30 16:54 ` Alex Samoutin
2003-04-30 18:13 ` Thomas Gleixner
2003-07-02 17:43 ` Alex Samoutin
2003-07-02 17:53 ` Jasmine Strong
2003-07-02 20:10 ` Alex Samoutin
2003-07-04 1:43 ` David Woodhouse
2003-07-03 5:44 ` Stephan Linke
2003-07-05 15:15 ` Thomas Gleixner
2003-07-07 9:27 ` Stephan Linke
2003-07-07 13:48 ` Thomas Gleixner
2003-07-08 7:50 ` David Woodhouse
2003-04-26 10:18 ` Jörn Engel
2003-04-28 8:57 ` Thomas Gleixner
-- strict thread matches above, loose matches on Subject: below --
2003-08-18 11:36 Eugeny Mints
2003-04-22 7:05 Paul Wong
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to='000701c30b79$539ecbd0$1a00a8c0@itc.intrinsyc.com' \
--to=samoutin@hotbox.ru \
--cc=joern@wohnheim.fh-wedel.de \
--cc=linux-mtd@lists.infradead.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox