From ad8cd0d643f0c3f86755a0169bb7c9597005fa8e Mon Sep 17 00:00:00 2001 From: Alex Elder Date: Thu, 16 Oct 2014 06:35:25 -0500 Subject: [PATCH] greybus: unlock gbuf mutex on free To drop a reference on a gbuf, greybus_free_gbuf() is called. That uses kref_put_mutex() to drop the refernce under protection of gbuf_mutex. However the release routine, free_gbuf(), never releases the mutex as it should. Fix that. Signed-off-by: Alex Elder Signed-off-by: Greg Kroah-Hartman --- drivers/staging/greybus/gbuf.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/staging/greybus/gbuf.c b/drivers/staging/greybus/gbuf.c index 2ef6ead8ed17..a33dbb417312 100644 --- a/drivers/staging/greybus/gbuf.c +++ b/drivers/staging/greybus/gbuf.c @@ -82,6 +82,7 @@ static void free_gbuf(struct kref *kref) gbuf->connection->hd->driver->free_gbuf_data(gbuf); kmem_cache_free(gbuf_head_cache, gbuf); + mutex_unlock(&gbuf_mutex); } void greybus_free_gbuf(struct gbuf *gbuf) -- 2.39.5