gpu: pvr: fix error path in SysInitialise
authorImre Deak <imre.deak@nokia.com>
Wed, 30 Mar 2011 11:36:09 +0000 (14:36 +0300)
committerGrazvydas Ignotas <notasas@gmail.com>
Sun, 20 May 2012 18:43:04 +0000 (21:43 +0300)
Add missing check for the mem allocation result.

Fixes: NB#241787 - missing check of return value of OSReservePhys()

Reported-by: Coverity
Signed-off-by: Imre Deak <imre.deak@nokia.com>
Reviewed-by: Pauli Nieminen <ext-pauli.nieminen@nokia.com>
pvr/sysconfig.c

index 45b9d1f..94f18f6 100644 (file)
@@ -303,10 +303,16 @@ enum PVRSRV_ERROR SysInitialise(struct platform_device *pdev)
            SYS_OMAP3430_GP11TIMER_PHYS_BASE + SYS_OMAP3430_GPTIMER_REGS;
        gpsSysData->pvSOCTimerRegisterKM = NULL;
        gpsSysData->hSOCTimerRegisterOSMemHandle = NULL;
-       OSReservePhys(TimerRegPhysBase, 4,
+       eError = OSReservePhys(TimerRegPhysBase, 4,
                      PVRSRV_HAP_MULTI_PROCESS | PVRSRV_HAP_UNCACHED,
                      (void **)&gpsSysData->pvSOCTimerRegisterKM,
                      &gpsSysData->hSOCTimerRegisterOSMemHandle);
+       if (eError != PVRSRV_OK) {
+               PVR_DPF(PVR_DBG_ERROR, "%s: OSReservePhys failed");
+               SysDeinitialise(gpsSysData);
+               gpsSysData = NULL;
+               return eError;
+       }
 
        gpsSysSpecificData->ui32SrcClockDiv = 3;