Patchwork [1/1] MTD: cfi chip, fix lock imbalance

mail settings
Submitter Jiri Slaby
Date Dec. 10, 2009, 1:23 p.m.
Message ID <>
Download mbox | patch
Permalink /patch/40804/
State Accepted
Commit caf0e8e028516253afce6e40c52f0c193a221f8a
Headers show


Jiri Slaby - Dec. 10, 2009, 1:23 p.m.
Stanse found a double unlock in get_chip. get_chip is called with
chip->mutex held and caller is responsible for unlocking it too.

Do not unlock the lock in get_chip on a fail path. This would mean
a double unlock.

Signed-off-by: Jiri Slaby <>
 drivers/mtd/chips/cfi_cmdset_0002.c |    1 -
 1 files changed, 0 insertions(+), 1 deletions(-)


diff --git a/drivers/mtd/chips/cfi_cmdset_0002.c b/drivers/mtd/chips/cfi_cmdset_0002.c
index 1d49e18..f3600e8 100644
--- a/drivers/mtd/chips/cfi_cmdset_0002.c
+++ b/drivers/mtd/chips/cfi_cmdset_0002.c
@@ -569,7 +569,6 @@  static int get_chip(struct map_info *map, struct flchip *chip, unsigned long adr
 			if (time_after(jiffies, timeo)) {
 				printk(KERN_ERR "Waiting for chip to be ready timed out.\n");
-				spin_unlock(chip->mutex);
 				return -EIO;