|
|
@ -155,8 +155,14 @@ NvResult nvhost_ctrl::IocCtrlEventRegister(const std::vector<u8>& input, std::ve
|
|
|
|
return NvResult::BadParameter;
|
|
|
|
return NvResult::BadParameter;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
if (events_interface.registered[event_id]) {
|
|
|
|
if (events_interface.registered[event_id]) {
|
|
|
|
|
|
|
|
const auto event_state = events_interface.status[event_id];
|
|
|
|
|
|
|
|
if (event_state != EventState::Free) {
|
|
|
|
|
|
|
|
LOG_WARNING(Service_NVDRV, "Event already registered! Unregistering previous event");
|
|
|
|
|
|
|
|
events_interface.UnregisterEvent(event_id);
|
|
|
|
|
|
|
|
} else {
|
|
|
|
return NvResult::BadParameter;
|
|
|
|
return NvResult::BadParameter;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
events_interface.RegisterEvent(event_id);
|
|
|
|
events_interface.RegisterEvent(event_id);
|
|
|
|
return NvResult::Success;
|
|
|
|
return NvResult::Success;
|
|
|
|
}
|
|
|
|
}
|
|
|
|