aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/mtd/chips/cfi_cmdset_0002.c
diff options
context:
space:
mode:
authorThomas Gleixner <tglx@linutronix.de>2005-05-31 20:39:20 +0100
committerThomas Gleixner <tglx@mtd.linutronix.de>2005-06-29 14:15:17 +0200
commit0dfc62465ef92c7ddcb1ba223bf062453566fd0f (patch)
tree0156e9b9996cf43dd67ceed53a2b8da0a516cdec /drivers/mtd/chips/cfi_cmdset_0002.c
parent7ca6448dbfb398bba36eda3c01bc14b86c3675be (diff)
downloadkernel_samsung_crespo-0dfc62465ef92c7ddcb1ba223bf062453566fd0f.zip
kernel_samsung_crespo-0dfc62465ef92c7ddcb1ba223bf062453566fd0f.tar.gz
kernel_samsung_crespo-0dfc62465ef92c7ddcb1ba223bf062453566fd0f.tar.bz2
[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/chips/cfi_cmdset_0002.c')
0 files changed, 0 insertions, 0 deletions