From patchwork Thu Aug 6 23:05:33 2009 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: [4/8] mtd: sst25l, fix lock imbalance Date: Thu, 06 Aug 2009 13:05:33 -0000 From: Andrew Morton X-Patchwork-Id: 30905 Message-Id: <200908062305.n76N5X6G004952@imap1.linux-foundation.org> To: dwmw2@infradead.org Cc: akpm@linux-foundation.org, linux-mtd@lists.infradead.org, jirislaby@gmail.com From: Jiri Slaby Add an omitted unlock to one sst25l_erase fail path. Signed-off-by: Jiri Slaby Cc: David Woodhouse Signed-off-by: Andrew Morton --- drivers/mtd/devices/sst25l.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff -puN drivers/mtd/devices/sst25l.c~mtd-sst25l-fix-lock-imbalance drivers/mtd/devices/sst25l.c --- a/drivers/mtd/devices/sst25l.c~mtd-sst25l-fix-lock-imbalance +++ a/drivers/mtd/devices/sst25l.c @@ -180,8 +180,10 @@ static int sst25l_erase(struct mtd_info mutex_lock(&flash->lock); err = sst25l_wait_till_ready(flash); - if (err) + if (err) { + mutex_unlock(&flash->lock); return err; + } while (addr < end) { err = sst25l_erase_sector(flash, addr);