aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/img-rogue/1.17/server_pvrtl_bridge.c
diff options
context:
space:
mode:
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.c35
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;
}