diff --git a/drivers/platform/goldfish/goldfish_pipe.c b/drivers/platform/goldfish/goldfish_pipe.c index 9804e9e455d2..2de1e603bd2b 100644 --- a/drivers/platform/goldfish/goldfish_pipe.c +++ b/drivers/platform/goldfish/goldfish_pipe.c @@ -385,7 +385,7 @@ static int transfer_max_buffers(struct goldfish_pipe *pipe, unsigned long last_page, unsigned int last_page_size, s32 *consumed_size, int *status) { - struct page *pages[MAX_BUFFERS_PER_COMMAND]; + static struct page *pages[MAX_BUFFERS_PER_COMMAND]; unsigned long first_page = address & PAGE_MASK; unsigned int iter_last_page_size; int pages_count = pin_user_pages(first_page, last_page, @@ -409,10 +409,10 @@ static int transfer_max_buffers(struct goldfish_pipe *pipe, *consumed_size = pipe->command_buffer->rw_params.consumed_size; - mutex_unlock(&pipe->lock); - release_user_pages(pages, pages_count, is_write, *consumed_size); + mutex_unlock(&pipe->lock); + return 0; }