diff --git a/hipamd/src/hip_module.cpp b/hipamd/src/hip_module.cpp index e28e33a3ce..6de77c328d 100644 --- a/hipamd/src/hip_module.cpp +++ b/hipamd/src/hip_module.cpp @@ -518,6 +518,10 @@ hipError_t hipLaunchCooperativeKernel(const void* f, HIP_INIT_API(hipLaunchCooperativeKernel, f, gridDim, blockDim, sharedMemBytes, hStream); + if (!hip::isValid(hStream)) { + HIP_RETURN(hipErrorInvalidValue); + } + hipFunction_t func = nullptr; int deviceId = hip::Stream::DeviceId(hStream); HIP_RETURN_ONFAIL(PlatformState::instance().getStatFunc(&func, f, deviceId)); diff --git a/hipamd/src/hip_stream.cpp b/hipamd/src/hip_stream.cpp index f74b4c0999..678af44fc5 100644 --- a/hipamd/src/hip_stream.cpp +++ b/hipamd/src/hip_stream.cpp @@ -169,7 +169,7 @@ int Stream::DeviceId(const hipStream_t hStream) { //return invalid device id return -1; } - hip::Stream* s = reinterpret_cast(hStream); + hip::Stream* s = reinterpret_cast(inputStream); int deviceId = (s != nullptr)? s->DeviceId() : ihipGetDevice(); assert(deviceId >= 0 && deviceId < static_cast(g_devices.size())); return deviceId;