summaryrefslogtreecommitdiff
path: root/drivers/mxc/amd-gpu/common/gsl_sharedmem.c
diff options
context:
space:
mode:
authorJie Zhou <b30303@freescale.com>2010-07-23 19:53:12 +0800
committerDennis Wenzel <b21659@freescale.com>2010-07-23 11:24:32 -0500
commit41e77b3a969545071232c2aadb696e48ead7bf55 (patch)
tree5809e6c54759da9dd115eede1af384e4d40b32a2 /drivers/mxc/amd-gpu/common/gsl_sharedmem.c
parentf9d77737b87700e8b8c428a47658cd931b08ca43 (diff)
ENGR00125434 GPU: Fix kernel oops when run ES2.0 conf. test for second time
memstore should be freed properly. a following change will be prepared to improve the alloc/free logic for device memstore. Signed-off-by: Jie Zhou <b30303@freescale.com> Acked-by: Rob Herring <r.herring@freescale.com>
Diffstat (limited to 'drivers/mxc/amd-gpu/common/gsl_sharedmem.c')
-rw-r--r--drivers/mxc/amd-gpu/common/gsl_sharedmem.c12
1 files changed, 10 insertions, 2 deletions
diff --git a/drivers/mxc/amd-gpu/common/gsl_sharedmem.c b/drivers/mxc/amd-gpu/common/gsl_sharedmem.c
index 2892668d7c45..51e66f97c52e 100644
--- a/drivers/mxc/amd-gpu/common/gsl_sharedmem.c
+++ b/drivers/mxc/amd-gpu/common/gsl_sharedmem.c
@@ -482,8 +482,16 @@ kgsl_sharedmem_read0(const gsl_memdesc_t *memdesc, void *dst, unsigned int offse
KOS_ASSERT(dst);
KOS_ASSERT(sizebytes);
- KOS_ASSERT(memdesc->gpuaddr >= shmem->apertures[aperture_index].memarena->gpubaseaddr);
- KOS_ASSERT((memdesc->gpuaddr + sizebytes) <= (shmem->apertures[aperture_index].memarena->gpubaseaddr + shmem->apertures[aperture_index].memarena->sizebytes));
+
+ if (memdesc->gpuaddr < shmem->apertures[aperture_index].memarena->gpubaseaddr)
+ {
+ return (GSL_FAILURE_BADPARAM);
+ }
+
+ if (memdesc->gpuaddr + sizebytes > shmem->apertures[aperture_index].memarena->gpubaseaddr + shmem->apertures[aperture_index].memarena->sizebytes)
+ {
+ return (GSL_FAILURE_BADPARAM);
+ }
gpuoffsetbytes = (memdesc->gpuaddr - shmem->apertures[aperture_index].memarena->gpubaseaddr) + offsetbytes;