diff options
Diffstat (limited to 'drivers/gpu/drm/img-rogue/1.17/server_pvrtl_bridge.c')
-rw-r--r-- | drivers/gpu/drm/img-rogue/1.17/server_pvrtl_bridge.c | 35 |
1 files changed, 24 insertions, 11 deletions
diff --git a/drivers/gpu/drm/img-rogue/1.17/server_pvrtl_bridge.c b/drivers/gpu/drm/img-rogue/1.17/server_pvrtl_bridge.c index 2e8e50e639c13c..b57fec44525447 100644 --- a/drivers/gpu/drm/img-rogue/1.17/server_pvrtl_bridge.c +++ b/drivers/gpu/drm/img-rogue/1.17/server_pvrtl_bridge.c @@ -221,17 +221,16 @@ TLOpenStream_exit: * This should never fail... */ PVR_ASSERT((eError == PVRSRV_OK) || (eError == PVRSRV_ERROR_RETRY)); - /* Avoid freeing/destroying/releasing the resource a second time below */ - psSDInt = NULL; /* Release now we have cleaned up creation handles. */ UnlockHandle(psConnection->psHandleBase); } - if (psSDInt) + else if (psSDInt) { TLServerCloseStreamKM(psSDInt); } + } /* Allocated space should be equal to the last updated offset */ @@ -787,28 +786,42 @@ PVRSRV_ERROR InitPVRTLBridge(void) { SetDispatchTableEntry(PVRSRV_BRIDGE_PVRTL, PVRSRV_BRIDGE_PVRTL_TLOPENSTREAM, - PVRSRVBridgeTLOpenStream, NULL); + PVRSRVBridgeTLOpenStream, NULL, sizeof(PVRSRV_BRIDGE_IN_TLOPENSTREAM), + sizeof(PVRSRV_BRIDGE_OUT_TLOPENSTREAM)); SetDispatchTableEntry(PVRSRV_BRIDGE_PVRTL, PVRSRV_BRIDGE_PVRTL_TLCLOSESTREAM, - PVRSRVBridgeTLCloseStream, NULL); + PVRSRVBridgeTLCloseStream, NULL, + sizeof(PVRSRV_BRIDGE_IN_TLCLOSESTREAM), + sizeof(PVRSRV_BRIDGE_OUT_TLCLOSESTREAM)); SetDispatchTableEntry(PVRSRV_BRIDGE_PVRTL, PVRSRV_BRIDGE_PVRTL_TLACQUIREDATA, - PVRSRVBridgeTLAcquireData, NULL); + PVRSRVBridgeTLAcquireData, NULL, + sizeof(PVRSRV_BRIDGE_IN_TLACQUIREDATA), + sizeof(PVRSRV_BRIDGE_OUT_TLACQUIREDATA)); SetDispatchTableEntry(PVRSRV_BRIDGE_PVRTL, PVRSRV_BRIDGE_PVRTL_TLRELEASEDATA, - PVRSRVBridgeTLReleaseData, NULL); + PVRSRVBridgeTLReleaseData, NULL, + sizeof(PVRSRV_BRIDGE_IN_TLRELEASEDATA), + sizeof(PVRSRV_BRIDGE_OUT_TLRELEASEDATA)); SetDispatchTableEntry(PVRSRV_BRIDGE_PVRTL, PVRSRV_BRIDGE_PVRTL_TLDISCOVERSTREAMS, - PVRSRVBridgeTLDiscoverStreams, NULL); + PVRSRVBridgeTLDiscoverStreams, NULL, + sizeof(PVRSRV_BRIDGE_IN_TLDISCOVERSTREAMS), + sizeof(PVRSRV_BRIDGE_OUT_TLDISCOVERSTREAMS)); SetDispatchTableEntry(PVRSRV_BRIDGE_PVRTL, PVRSRV_BRIDGE_PVRTL_TLRESERVESTREAM, - PVRSRVBridgeTLReserveStream, NULL); + PVRSRVBridgeTLReserveStream, NULL, + sizeof(PVRSRV_BRIDGE_IN_TLRESERVESTREAM), + sizeof(PVRSRV_BRIDGE_OUT_TLRESERVESTREAM)); SetDispatchTableEntry(PVRSRV_BRIDGE_PVRTL, PVRSRV_BRIDGE_PVRTL_TLCOMMITSTREAM, - PVRSRVBridgeTLCommitStream, NULL); + PVRSRVBridgeTLCommitStream, NULL, + sizeof(PVRSRV_BRIDGE_IN_TLCOMMITSTREAM), + sizeof(PVRSRV_BRIDGE_OUT_TLCOMMITSTREAM)); SetDispatchTableEntry(PVRSRV_BRIDGE_PVRTL, PVRSRV_BRIDGE_PVRTL_TLWRITEDATA, - PVRSRVBridgeTLWriteData, NULL); + PVRSRVBridgeTLWriteData, NULL, sizeof(PVRSRV_BRIDGE_IN_TLWRITEDATA), + sizeof(PVRSRV_BRIDGE_OUT_TLWRITEDATA)); return PVRSRV_OK; } |