nvdrv: Unregister already registered events
This commit is contained in:
parent
12355cbf02
commit
3b0458a7a5
|
@ -155,7 +155,14 @@ NvResult nvhost_ctrl::IocCtrlEventRegister(const std::vector<u8>& input, std::ve
|
|||
return NvResult::BadParameter;
|
||||
}
|
||||
if (events_interface.registered[event_id]) {
|
||||
return NvResult::BadParameter;
|
||||
const auto event_state = events_interface.status[event_id];
|
||||
if (event_state == EventState::Registered || event_state == EventState::Waiting ||
|
||||
event_state == EventState::Busy) {
|
||||
LOG_WARNING(Service_NVDRV, "Event already registered! Unregistering previous event");
|
||||
events_interface.UnregisterEvent(event_id);
|
||||
} else {
|
||||
return NvResult::BadParameter;
|
||||
}
|
||||
}
|
||||
events_interface.RegisterEvent(event_id);
|
||||
return NvResult::Success;
|
||||
|
|
Reference in New Issue