[patch] misc: mic/scif: re-take a lock on error path

Dan Carpenter
2015-10-13T12:52:24Z

The caller expects that we take this lock again before returning
otherwise it you get double unlocks and races.

Fixes: ba612aa8b487 ('misc: mic: SCIF memory registration and unregistration')
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>

diff --git a/drivers/misc/mic/scif/scif_rma.c b/drivers/misc/mic/scif/scif_rma.c
index e288996..980ef13 100644
--- a/drivers/misc/mic/scif/scif_rma.c
+++ b/drivers/misc/mic/scif/scif_rma.c
@@ -680,6 +680,7 @@ int scif_unregister_window(struct scif_window *window)
}
} else {
/* Return ENXIO since unregistration is in progress */
+ mutex_lock(&ep->rma_info.rma_lock);
return -ENXIO;
}