aboutsummaryrefslogtreecommitdiff
path: root/drivers/mtd/nand/nand_base.c
AgeCommit message (Collapse)Author
2005-09-07[PATCH] detect soft lockupsIngo Molnar
This patch adds a new kernel debug feature: CONFIG_DETECT_SOFTLOCKUP. When enabled then per-CPU watchdog threads are started, which try to run once per second. If they get delayed for more than 10 seconds then a callback from the timer interrupt detects this condition and prints out a warning message and a stack dump (once per lockup incident). The feature is otherwise non-intrusive, it doesnt try to unlock the box in any way, it only gets the debug info out, automatically, and on all CPUs affected by the lockup. Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Nishanth Aravamudan <nacc@us.ibm.com> Signed-Off-By: Matthias Urlichs <smurf@smurf.noris.de> Signed-off-by: Richard Purdie <rpurdie@rpsys.net> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-07-16[MTD] NAND: Fix broken bad block scan for 16 bit devicesThomas Gleixner
The previous change to read a single byte from oob breaks the bad block scan on 16 bit devices, when the byte is on an odd address. Read the complete oob for now. Remove the unused arguments from check_short_pattern() Move the wait for ready function so it is only executed when consecutive reads happen. Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2005-06-29[MTD] NAND: Change exports to _GPLThomas Gleixner
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2005-06-29[MTD] NAND: Reorganize chip lockingThomas Gleixner
The code was wrong in several aspects. The locking order was inconsistent, the device aquire code did not reset a variable after a wakeup and the wakeup handling was not working for applications where multiple chips are sharing a single hardware controller. When a hardware controller is available the locking is now reduced to the hardware controller lock and the waitqueue is moved to the hardware controller structure in order to avoid a wake_up_all(). The problem was pointed out by Ben Dooks, who also found the missing variable reset as main cause for his deadlock problem. Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2005-05-23[MTD] NAND: Honour autoplacement schemes supplied by the callerThomas Gleixner
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2005-05-23[MTD] NAND: Fix the broken dynamic array allocationsJarkko Lavinen
Reverting the change from 1.136 to 1.137 (back to static allocation of ecc arrays) due to stack corruption and ecc errors. Signed-off-by: Jarkko Lavinen <jarkko.lavinen@nokia.com> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2005-05-23[MTD] NAND: Fix reading of autoplaced OOB when there are multiple free sections.Dan Brown
Signed-off-by: Dan Brown <dan_brown@ieee.org> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2005-05-23[MTD] NAND: Move the NULL check into the calling functionThomas Gleixner
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2005-05-23[MTD] NAND: Fix missing NULL pointer checkDan Brown
Version 1.137 broke nand_read_ecc clients who pass NULL oobsel. Fixed. Signed-off-by: Dan Brown <dan_brown@ieee.org> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2005-05-23[MTD] NAND: Fix oob available calculationThomas Gleixner
Use oobfree to calculate the number of oob bytes available for fs usage Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2005-05-23[MTD] NAND: Use arrays of needed size instead of constant-sized.Artem B. Bityuckiy
Signed-off-by: Artem B. Bityuckiy <dedekind@infradead.org> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2005-05-23[MTD] NAND: Fixed unused loop variableBen Dooks
Signed-off-by: Ben Dooks <ben@simtec.co.uk> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2005-05-23[MTD] NAND: Use cond_resched instead of msleepThomas Gleixner
Replace msleep by cond_resched. On machines with HZ=100 (e.g. ARM) msleep slows down the operation by factor 10 Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2005-05-23[MTD] NAND: Check command timeoutThomas Gleixner
Check timeout while we wait for the command to finish. No worry about a false result. This prevents deadlocking when detecting an unknown number of chips and is useful for removable media too. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2005-05-23[MTD] NAND: Early Manufacturer ID lookupKyungmin Park
Move manufacturer ID search to display correct ID in case of buswidth mismatch. Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2005-05-23[MTD] NAND: Allow operation without bad block tableArtem B. Bityuckiy
Small bugfix. Sometimes it may be handy not to have bbt. So, this->bbt might be NULL. Signed-off-by: Artem B. Bityuckiy <dedekind@infradead.org> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2005-05-23[MTD] NAND: Skip bad block table scan on requestThomas Gleixner
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2005-05-23[MTD] NAND Add optional ECC status check callbackDavid A. Marlin
Add optional hardware specific callback routine to perform extra error status checks on erase and write failures for devices with hardware ECC. Signed-off-by: David A. Marlin <dmarlin@redhat.com> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2005-05-23[MTD] NAND use symbols instead of literalsDavid A. Marlin
Replace some literals with defined symbols. Signed-off-by: David A. Marlin <dmarlin@redhat.com> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2005-05-23[MTD] NAND replace yieldThomas Gleixner
Replace yield by msleep. M.Wilcox stared at it and frowned Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2005-05-23[MTD] NAND workaround for AG-AND disturb issue. AG-AND recoveryDavid A. Marlin
Added workaround for Renesas AG-AND chips "disturb" issue for Bad Block Table. Added support for the device recovery command sequence for Renesas AG-AND chips. Signed-off-by: David A. Marlin <dmarlin@redhat.com> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2005-04-16Linux-2.6.12-rc2Linus Torvalds
Initial git repository build. I'm not bothering with the full history, even though we have it. We can create a separate "historical" git archive of that later if we want to, and in the meantime it's about 3.2GB when imported into git - space that would just make the early git days unnecessarily complicated, when we don't have a lot of good infrastructure for it. Let it rip!