}
static int bridged_ioctl(struct file *filp, u32 cmd, void *in, void *out,
+ size_t in_size,
struct PVRSRV_PER_PROCESS_DATA *per_proc)
{
int err = -EFAULT;
err = SGXGetInternalDevInfoBW(cmd, in, out, per_proc);
break;
case PVRSRV_BRIDGE_SGX_DOKICK:
- err = SGXDoKickBW(cmd, in, out, per_proc);
+ err = SGXDoKickBW(cmd, in, out, in_size, per_proc);
break;
case PVRSRV_BRIDGE_SGX_GETPHYSPAGEADDR:
goto return_fault;
}
- err = bridged_ioctl(filp, bid, in, out, pd);
+ err = bridged_ioctl(filp, bid, in, out, pkg->ui32InBufferSize, pd);
if (err < 0)
goto return_fault;
int SGXDoKickBW(u32 ui32BridgeID,
struct PVRSRV_BRIDGE_IN_DOKICK *psDoKickIN,
struct PVRSRV_BRIDGE_RETURN *psRetOUT,
+ size_t in_size,
struct PVRSRV_PER_PROCESS_DATA *psPerProc)
{
void *hDevCookieInt;
struct PVRSRV_PER_PROCESS_DATA *psPerProc);
int SGXDoKickBW(u32 ui32BridgeID,
- struct PVRSRV_BRIDGE_IN_DOKICK *psDoKickIN,
- struct PVRSRV_BRIDGE_RETURN *psRetOUT,
- struct PVRSRV_PER_PROCESS_DATA *psPerProc);
+ struct PVRSRV_BRIDGE_IN_DOKICK *psDoKickIN,
+ struct PVRSRV_BRIDGE_RETURN *psRetOUT, size_t in_size,
+ struct PVRSRV_PER_PROCESS_DATA *psPerProc);
int SGXScheduleProcessQueuesBW(u32 ui32BridgeID,
struct PVRSRV_BRIDGE_IN_SGX_SCHEDULE_PROCESS_QUEUES *psScheduleProcQIN,