From: Marc Dietrich Date: Sun, 19 Aug 2012 17:03:07 +0000 (+0200) Subject: staging: nvec: release sync write lock in error case X-Git-Tag: firefly_0821_release~3680^2~1977^2~775 X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=4b8bf03d7f775271c2016e76011b113bc5f83c14;p=firefly-linux-kernel-4.4.55.git staging: nvec: release sync write lock in error case We forgot to release the sync write lock in case the async write fails. Found by rpiloose on IRC. Signed-off-by: Marc Dietrich Signed-off-by: Greg Kroah-Hartman --- diff --git a/drivers/staging/nvec/nvec.c b/drivers/staging/nvec/nvec.c index 3e090ecc2eac..fd84f8fd9533 100644 --- a/drivers/staging/nvec/nvec.c +++ b/drivers/staging/nvec/nvec.c @@ -294,8 +294,10 @@ struct nvec_msg *nvec_write_sync(struct nvec_chip *nvec, nvec->sync_write_pending = (data[1] << 8) + data[0]; - if (nvec_write_async(nvec, data, size) < 0) + if (nvec_write_async(nvec, data, size) < 0) { + mutex_unlock(&nvec->sync_write_mutex); return NULL; + } dev_dbg(nvec->dev, "nvec_sync_write: 0x%04x\n", nvec->sync_write_pending);