diff options
author | Thomas Gleixner <tglx@linutronix.de> | 2005-05-31 15:39:20 -0400 |
---|---|---|
committer | Thomas Gleixner <tglx@mtd.linutronix.de> | 2005-06-29 08:15:17 -0400 |
commit | 0dfc62465ef92c7ddcb1ba223bf062453566fd0f (patch) | |
tree | 0156e9b9996cf43dd67ceed53a2b8da0a516cdec /drivers/mtd/mtdpart.c | |
parent | 7ca6448dbfb398bba36eda3c01bc14b86c3675be (diff) |
[MTD] NAND: Reorganize chip locking
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>
Diffstat (limited to 'drivers/mtd/mtdpart.c')
0 files changed, 0 insertions, 0 deletions