struct PVRSRV_BUFFERCLASS_INFO *psBCInfo;
struct PVRSRV_BUFFERCLASS_PERCONTEXT_INFO *psBCPerContextInfo;
struct PVRSRV_DEVICE_NODE *psDeviceNode;
+ struct BUFFER_INFO sBufferInfo;
struct SYS_DATA *psSysData;
u32 i;
enum PVRSRV_ERROR eError;
OSMemSet(psBCPerContextInfo, 0, sizeof(*psBCPerContextInfo));
if (psBCInfo->ui32RefCount++ == 0) {
- struct BUFFER_INFO sBufferInfo;
-
psDeviceNode = (struct PVRSRV_DEVICE_NODE *)hDevCookie;
psBCInfo->hDevMemContext =
psKernelSyncInfo);
}
}
-
- if (psBCInfo->psBuffer) {
- OSFreeMem(PVRSRV_OS_PAGEABLE_HEAP,
- sizeof(struct PVRSRV_BC_BUFFER), psBCInfo->psBuffer,
- NULL);
- }
+ OSFreeMem(PVRSRV_OS_PAGEABLE_HEAP,
+ sizeof(struct PVRSRV_BC_BUFFER) * sBufferInfo.ui32BufferCount,
+ psBCInfo->psBuffer, NULL);
err2:
err1:
return eError;