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 <elder@linaro.org>
Signed-off-by: Greg Kroah-Hartman <greg@kroah.com>
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)