gpu: ion: Loop on the handle count when destroying

When destroying a handle, all kernel mappings to that handle
should be destroyed. Other handles may still have references
and valid mappings to the buffer underneath which should not
be destroyed. Loop on the handle reference count, not the buffer
reference count to get rid of all kernel mappings for the handle.

Signed-off-by: Laura Abbott <lauraa@codeaurora.org>
[jstultz: modified patch to apply to staging directory]
Signed-off-by: John Stultz <john.stultz@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
Laura Abbott 2013-12-13 14:23:48 -08:00 committed by Greg Kroah-Hartman
parent 0de9577b5e
commit 2900cd7671

View File

@ -232,7 +232,7 @@ static void ion_handle_destroy(struct kref *kref)
mutex_lock(&client->lock);
mutex_lock(&buffer->lock);
while (buffer->kmap_cnt)
while (handle->kmap_cnt)
ion_handle_kmap_put(handle);
mutex_unlock(&buffer->lock);