diff options
author | Xianzhong <b07117@freescale.com> | 2014-04-23 18:21:33 +0800 |
---|---|---|
committer | Xianzhong <b07117@freescale.com> | 2014-04-24 00:02:29 +0800 |
commit | 0aa03f145e83640de10ac5899be5a3926d6c1e4b (patch) | |
tree | 04cf18e353b1e095952a963531ec68c8d308a66b /drivers/dio | |
parent | 953cafb5d9ca461a9ad9e99f260a28cc0393eb2f (diff) |
ENGR00309915 [#1087] enhanced video memory mutex
this patch can fix NULL pointer issue in GPU kernel driver with the following log
[<7f240438>] (gckEVENT_AddList+0x0/0x810 [galcore]) from [<7f239ebc>] (gckCOMMAND_Commit+0xf28/0x118c [galcore])
[<7f238f94>] (gckCOMMAND_Commit+0x0/0x118c [galcore]) from [<7f2362dc>] (gckKERNEL_Dispatch+0x120c/0x24e4 [galcore])
[<7f2350d0>] (gckKERNEL_Dispatch+0x0/0x24e4 [galcore]) from [<7f222280>] (drv_ioctl+0x390/0x540 [galcore])
[<7f221ef0>] (drv_ioctl+0x0/0x540 [galcore]) from [<800facd0>] (vfs_ioctl+0x30/0x44)
The false code is at 0x217bc where the 0-pointer happens (r3 = 0)
gcuVIDMEM_NODE_PTR node = (gcuVIDMEM_NODE_PTR)(gcmUINT64_TO_PTR(Record->info.u.FreeVideoMemory.node));
217b8: e5953028 ldr r3, [r5, #40] ; 0x28
if (node->VidMem.memory->object.type == gcvOBJ_VIDMEM)
217bc: e5932000 ldr r2, [r3]
217c0: e5922000 ldr r2, [r2]
217c4: e152000a cmp r2, sl
{
gcmkVERIFY_OK(gckKERNEL_RemoveProcessDB(Event->kernel,
Date: Apr 23, 2014
Signed-off-by: Xianzhong <b07117@freescale.com>
Acked-by: Jason Liu
(cherry picked from commit 13859c2276997dbfd1b45aff1ff598e2ee1d4f74)
Diffstat (limited to 'drivers/dio')
0 files changed, 0 insertions, 0 deletions