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

login
register
mail settings
Submitter Jiri Slaby
Date Dec. 10, 2009, 1:23 p.m.
Message ID <1260451437-29645-1-git-send-email-jslaby@suse.cz>
Download mbox | patch
Permalink /patch/40804/
State Accepted
Commit caf0e8e028516253afce6e40c52f0c193a221f8a
Headers show

Comments

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 <jslaby@suse.cz>
---
 drivers/mtd/chips/cfi_cmdset_0002.c |    1 -
 1 files changed, 0 insertions(+), 1 deletions(-)

Patch

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;
 			}
 			spin_unlock(chip->mutex);