gpu: ion: several bugfixes and enhancements of ION
authorKyongHo Cho <pullip.cho@samsung.com>
Wed, 7 Sep 2011 02:27:07 +0000 (11:27 +0900)
committerVarun Wadekar <vwadekar@nvidia.com>
Wed, 18 Jul 2012 06:38:00 +0000 (11:38 +0530)
commit5033eda84cff7ca44e8c4eb1d2a7f5b15aa3d6c4
tree9df4d04282ae5de74505af7ba990d0e738233cae
parentb233444fb6577998e107ce8b99f0643f181aa6ca
gpu: ion: several bugfixes and enhancements of ION

1. Verifying if the size of memory allocation in ion_alloc() is aligned
by PAGE_SIZE at least. If it is not, this change makes the size to be
aligned by PAGE_SIZE.

2. Unmaps all mappings to the kernel and DMA address spaces when
destroying ion_buffer in ion_buffer_destroy(). This prevents leaks in
those virtual address spaces.

3. Makes the return value of ion_alloc() to be explicit Linux error code
when it fails to allocate a buffer.

4. Makes ion_alloc() implementation simpler. Removes 'goto' statement and
relavant call to ion_buffer_put().

5. Checks if the task is valid before calling put_task_struct() due
to failure on creating a ion client in ion_client_create().

6. Returns error when buffer allocation requested by userspace is failed.

Change-Id: I4fa9859f4a0b665fcb44e5c0da43c569732e93ae
Signed-off-by: KyongHo Cho <pullip.cho@samsung.com>
drivers/gpu/ion/ion.c